PROVIDENCE COLLEGE FOR WOMEN
(Autonomous)
Spring Field Post Coonoor-643104
UNDER GRADUATE
DEPARTMENT OF COMPUTER SCIENCE AND
APPLICATION
VISUAL PROGRAMMING & ORACLE
Practical Record
2023-2024
PROVIDENCE COLLEGE FOR WOMEN
Spring Field Post,Coonoor-643104
This is to certify that this is the record of bonafide work done by __________________ Register
no. ________________ on VISUAL PROGRAMMING AND ORACLE LAB in partial
fulfilment of the reqirement of the degree of BACHELOR OF COMPUTER APPLICATION
during the year 2023-2024.
Saff Incharge Head of the Department
Internal Examiner External Examiner
Station:
Date:
INDEX
S.No. DATE TITLE SIGNATURE OF
STAFF INCHARGE
1.
Calculator
Loops
2. a)Fibonacci Series
b)Sum of N numbers
3. Menu Driven Program
4. Adding to a List Box using Combo box
5. Common Dialog Control
6. Animation using Timer
Conversion
7. a)Binary b)Octal c)Hexa-decimal
8. Employee Details
9. Inventory
10. Trigger
11. Procedures
12. Connectivity
EX NO : 01
DATE : CALCULATOR
AIM:
TO WRITE A SIMPLE VISUAL BASIC PROGRAM TO BUILD A CALCULATOR USING
BASIC OPERATIONS.
ALGORITHM:
STEP 1 : OPEN A NEW FORM.
STEP 2 : DESIGN THE FROM WITH ONE TEXTBOX AND ELEVEN COMMAND BUTTONS.
STEP 3 : THE FORST COMMAND BUTTON MUST HAVE 10 COPIES TO
REPRESENT 0 TO 9 DECIMAL NUMBERS BY COPYING AND PASTING.
STEP 4 : THE NEXT FOUR COMMAND BUTTONS TO PERFORM BASIC
ARITHMETIC OPERATIONS.
STEP 5 : THE REMAINING COMMAND BUTTONS ARE USED TO REPRESENT ON, OFF,
EQUAL TO, AC, DECIMAL &+/-.
STEP 6 : WRITE DOWN THE CODING FOR ALL THE CONTROLS IN THE CODE EDITOR
WINDOW.
STEP 7 : NOW BY CLICKING ON THE REQUIRED NUMBERS AND OPERATORS WE CAN
PERFORM VARIOUS OPERATIONS.
STEP 8 : THE RESULT WILL BE DISPLAYED IN THE TEXTBOX.
TOOLS :
CONTROLS PROPERTY SETINGS
COMMAND1 CAPTION 0-9
(10 COPIES)
COMMAND2 CAPTION +
COMMAND3 CAPTION -
COMMAND4 CAPTION *
COMMAND5 CAPTION /
COMMAND6 CAPTION +/-
COMMAND7 CAPTION =
COMMAND8 CAPTION ON
C OMMAND9 CAPTION OFF
COMMAND10 CAPTION AC
COMMAND11 CAPTION .
TEXT1 TEXT (BLANK)
SOURCE CODE :
Dim OP1, OP2 As Double
Dim OPR As String
Public RESULT As Variant
Private Sub Command1_Click(index As Integer)
Text1.Text = Text1.Text + Command1(index).Caption
OP2=Val(Text1.Text)
End Sub
Private Sub Command10_Click() OP2 = OP1 = 0
Text1.Text = ""
End Sub
Private Sub Command11_Click() If InStr(Text1.Text, ".") Then Exit Sub
Else
Text1.Text = Text1.Text + "." End If
End Sub
Private Sub Command2_Click() OP1 = Val(Text1.Text)
OPR = "+"
Text1.Text = ""
End Sub
Private Sub Command3_Click() OP1 = Val(Text1.Text)
OPR = "-"
Text1.Text = ""
End Sub
Private Sub Command4_Click() OP1 = Val(Text1.Text)
OPR = "*"
Text1.Text = ""
End Sub
Private Sub Command5_Click() OP1 = Val(Text1.Text)
OPR = "/"
Text1.Text = ""
End Sub
Private Sub Command6_Click()
Text1.Text = ""
OP2 = -OP2
TEXT2.Text = Str(OP2)
End Sub
Private Sub Command7_Click()
OP2 = Val(Text1.Text)
Select Case OPR
Case Is = "+"
RESULT = OP1 + OP2
Text1.Text = Str(RESULT)
Case Is = "-"
RESULT = OP1 - OP2
Text1.Text = Str(RESULT) Case Is = "*"
RESULT = OP1 * OP2
Text1.Text = Str(RESULT) Case Is = "/"
RESULT = OP1 / OP2
Text1.Text = Str(RESULT) End Select
OP2 = RESULT
End Sub
Private Sub Command8_Click()
Text1.Enabled = True
Text1.SetFocus
End Sub
Private Sub Command9_Click()
End
End Sub
Private Sub Form_Load()
Text1.Enabled = False
End Sub
OUTPUT:
RESULT:
THE PROGRAM WAS EXECUTED AND VERIFIED SUCCESSFULLY.
EX NO:02 LOOPS
DATE: a) FIBONACCI SERIES b) SUM OF n NUMBERS
AIM:
TO WRITE A SIMPLE VISUAL BASIC PROGRAM TO GET THE SUM OF N NUMBERS
AND FIBONACCI SERIES.
ALGORITHM:
STEP 1 : OPEN A NEW FORM.
STEP 2 : DESIGN THE FORM WITH TWO COMMAND BUTTONS,TWO TEXTBOXES AND
TWO LABELS FOR SUM OF N NUMBERS.
STEP 3 : DESIGN THE FORM WITH TWO COMMAND BUTTONS,TWO TEXTBOXES AND
TWO LABELS FOR FIBONACCI SERIES.
STEP 4 : WRITE DOWN THE SOURCE CODE FOR ALL CONTROLS IN THE CODE EDITOR
WINDOW.
STEP 5 : THE FIBONACCI SERIES WILL BR DISPLAYED BASED ON THE NUMBER.
STEP 6 : THE SUM OF THE ENTERED NUMBERS WILL BE DISPLAYED.
TOOLS:
CONTROLS SETTINGS
LABEL 1 CALCULATE THE SUM OF TWO
NUMBERS
LABEL 2 ENTER THE NUMBER
COMMAND 1 DISPLAY SUM
COMMAND 2 CLEAR
TEXTBOX 1 (BLANK)
TEXTBOX 2 (BLANK)
SOURCE CODE:
Private Sub Command1_Click()
Dim n,sum,cnt,rem 1 As Integer
N+Val(Text.Text)
Sum=0
While(n>0)
Sum=sum+n( Mod 10)
N=n/10
Wend
Text2.Text=sum
End Sub
Private Sub Command2_Click()
Text1.Text =””
Text2.Text =””
End Sub
OUTPUT
TOOLS:
CONTROLS SETTINGS
LABEL1 ENTER THE NUMBER
COMMAND1 FIBONACCI SERIES
COMMAND2 CLEAR
COMMAND3 (BLANK)
TEXTBOX1 EXIT
SOURCE CODE:
Private Sub Command1_Click()
Dim F,S,ANS,N As Integer
N=Val(Text1.Text)
ANS=0
F=0
S=1
List1.AddItem F
List1.AddItem S
CNT=2
While(CNT<N)
ANS+F+S
List1.AddItem ANS
F=S
S=ANS
CNT=CNT+1
Wend
End Sub
Private Sub Command2_Click()
List1.Clear
Text1.Text= “ “
End Sub
OUTPUT:
RESULT:
THE PROGRAM WAS EXECUTED AND VERIFIED SUCCESSFULLY.
EX NO:03
DATE : MENU DRIVEN PROGRAM
AIM :
TO WRITE A SIMPLE VISUAL BASIC PROGRAM TO DEVLOP A MENU
DRIVEN PROGRAM.
ALGORITHM :
STEP 1 : OPEN A NEW FORM.
STEP 2 : OPEN A MDI FORM WITH EXISTING FORM.
STEP 3 : USING MENU EDITOR, DESIGN THE MDI FORM WITH THE NECESSARY MENU
AND SUB MENU OPTIONS.
STEP 4 : DESIGN ANOTHER FORM WITH FOUR LABELS, ONE TEXTBOX AND ONE
COMMAND BUTTON.
STEP 5 : CHOOSE DIALOG FORM PROJECT MENUS, ADD FORM OPTION AND DESIGN
THE FORM WITH ONE FRAME AND FOUR OPTION BUTTON TO DENOTE THE COLOURS.
STEP 6 : WRITE DOWN THE SOURCE CODE FOR THE SUBMENUS AND THE COMMAND
BUTTONS AND OTHER CONTROLS IN THE CODE EDITOR WINDOW.
STEP 7 : NOW WE CAN VIEW THE ANSWER FOR THE CHOSEN SUBMENU IN FOUR
COLOURS.
TOOLS :
CONTROLS PROPERTY SETINGS
MDI FORM PROJECT -
MENU EDITOR FRM1,FRM2 SUB MENU
FORM1
FRAME1 CAPTION BACKGROUND COLOR
OPTION1 CAPTION RED
OPTION2 CAPTION BLUE
OPTION3 CAPTION GREEN
OPTION4 CAPTION YELLOW
COMMAND1 CAPTION OK
COMMAND2 CAPTION CANCEL
FORM2
LABEL1 CAPTION FRENCH
LABEL2 CAPTION GERMAN
LABEL3 CAPTION HEBREW
LABEL4 CAPTION JAPANESE
TEXT1 TEXT (BLANK)
SOURCE CODE :
Private Sub Command1_Click()
If Option1.Value = True Then
Form2.BackColor = vbRed
ElseIf Option2.Value = True Then
Form2.BackColor = vbBlue
ElseIf Option3.Value = True Then
Form2.BackColor = vbGreen
ElseIf Option4.Value = True Then
Form2.BackColor = vbYellow
End If
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Label1_Click()
Form3.Label1.Caption = "HELLO IN FRENCH" Form3.Text1.Text = "BONJOUR"
Form3.Show
End Sub
Private Sub Label2_Click()
Form3.Label2.Caption = "HELLO IN GERMAN" Form3.Text1.Text = "GUTENTAG"
Form3.Show
End Sub
Private Sub Label3_Click()
Form3.Label3.Caption = "HELLO IN HEBREW" Form3.Text1.Text = "SHALOM"
Form3.Show
End Sub
Private Sub Label4_Click()
Form3.Label4.Caption = "HELLO IN JAPANESE" Form3.Text1.Text = "KONICHIHAA"
Form3.Show
End Sub
Private Sub mnuform1_Click()
Load Form2
End Sub
Private Sub mnuform2_Click()
Load Form3
End Sub
OUTPUT:
RESULT:
THE PROGRAM WAS EXCUTED AND VERIFIED SUCCESSFULLY.
EX NO:04
DATE : ADDING TO A LIST BOX USING COMBO BOX
AIM:
TO WRITE A SIMPLE VISUAL BASIC PROGRAM TO ADD ITEMS TO THE LIST
BOX USING USER INPUT AND THEN MOVE THE SELECTED ITEMS INTO THE COMBO
BOX.
ALGORITHM:
STEP 1 : OPEN A NEW FORM.
STEP 2 : DESIGN THE FORM WITH ONE LIST BOX, ONE COMB BOX AND TWO COMMAND
BUTTONS.
STEP 3 : CHANGE THE CAPTION FOR THE FIRST COMMAND BUTTON TO ADD AND
SECOND TO REMOVE.
STEP 4 : WRITE DOWN THE SOURCE CODE FOR ALL CONTROLS IN THE CODE EDITOR
WINDOW.
STEP 5 : THE INPUT IS ADDED TO THE LIST BOX USNG ADD COMMAND.
STEP 6 : THE SELECTED ITEM IS REMOVED FORM LIST BOX AND ADDED TO THE
COMBO BOX USING THE REMOVE COMMAND.
TOOLS:
CONTROLS PROPERTY SETINGS
LIST1 ITEM DATA (BLANK)
COMBO1 ITEM DATA (BLANK)
BUTTON1 CAPTION ADD
BUTTON2 CAPTION REMOVE
SOURCE CODE:
Private Sub Command1_Click()
Dim a As String
a = InputBox("ENTER THE STRING:""ADDITEMS TO THE LIST BOX") Combo1.AddItem a
End Sub
Private Sub Command2_Click()
Dim N As Integer
For N = 0 To Combo1.ListCount - 1
List1.AddItem Combo1.List(N)
Next N
End Sub
OUTPUT:
RESULT:
EX NO:05
DATE: COMMON DIALOG CONTROL
AIM:
TO DESIGN A FORM USING COMMON DIALOG CONTROLS TO DISPLAY THE
FONT, SAVE, AND OPEN DIALOG BOX.
ALGORITHM :
STEP 1 : OPEN A NEW FORM.
STEP 2 : DESIGN THE FORM USING FORUR COMMAND BUTTONS, ONE TEXT BOX,
ONE LABEL AND ONE COMMON DIALOG CONTROL.
STEP 3 : WRITE DOWN THE SOURCE CODE FOR ALL CONTROLS IN THE CODE
EDITOR WINDOW.
STEP 4 : THE OPEN, SAVE AND FONT COMMAND BUTTONS ARE USED TO OPEN DIALOG
BOXES AUTOMATICALLY AND TO SAVE AND TO ASSIGN REQUIRE
FONTS.
STEP 5 : THE EXIT COMMAND BUTTON IS USED TO END THE PROGRAM.
TOOLS:
CONTROLS PROPERTY SETTINGS
LABEL1 CAPTION COMMON
DIALOG COTROL2
COMMAND1 CAPTION &OPEN
COMMAND2 CAPTION &SAVE
COMMAND3 CAPTION &FONT
COMMAND4 CAPTION &EXIT
COMMON - -
DIALOG CONTRO
L
SOURCE CODE:
Private Sub Command1_Click()
CommonDialog1.InitDir = "E:\PRACTICAL"
CommonDialog1.ShowOpen
Text1.Text = CommonDialog1.FileName
End Sub
Private Sub Command2_Click()
CommonDialog1.InitDir = "E:\PRACTICAL"
CommonDialog1.ShowSave
Text1.Text=CommonDialog1.FileName
End Sub
Private Sub Command3_Click()
CommonDialog1.InitDir=”E:\PRACTICAL”
CommonDialog1.ShowFont
Text1.Text=CommonDialog1.FileName End Sub
Private Sub Command4_Click() End
End Sub
OUTPUT:
RESULT:
THE PROGRAM WAS EXECUTED AND VERIFIED SUCCESSFULLY.
EX NO:06
DATE: ANIMATION USING TIMER
AIM :
TO WRITE A SIMPLE VISUAL BASIC PROGRAM TO IMPLEMENT ANIMATION.
ALGORITHM :
STEP 1 : OPEN A NEW FORM.
STEP 2 :DESIGN THE FORM WITH ONE LABEL.
STEP 3 CHANGE THE CAPTION OF THE LABEL INTO CORRECT MESSAGE AND GIVE THE
TIME INTERVAL OF TIMER.
STEP 4 : THE OUTPUT IS DISPLAYED ACCORDING TO THE INTERVAL.
TOOLS:
CONTROLS PROPERTY SETTINGS
TIMER 1 TIMER INTERVAL
SOURCE CODE:
Private Sub Timer1_Timer()
Image1.Picture=LoadPicture(“C:\Users\Public\Pictures\Sample Pictures\Image1”)
Image2.Picture=LoadPicture(“C:\Users\Public\Pictures\Sample Pictures\Image2”)
If Image1.Visible=True Then
Image1.Visible=False
Image2.Visible=True
ElseIf Image2.Visible=True Then
Image2.Visible=False
Image1.Visible=True
End If
End Sub
OUTPUT:
RESULT: THE PROGRAM WAS EXECUTED AND THE OUTPUT WAS VERIFIED
EX NO:07 CONVERSION
DATE : a)BINARY b)OCTAL c)HEA-DECIMAL
AIM :
TO WRITE A SIMPLE VISUAL BASIC PROGRAM TO ACCEPT A NUMBER AND
CONVERT INTO BINARY, OCTAL AND HEXADECIAMAL.
ALGORITHM :
STEP 1 : OPEN A NEW FORM.
STEP 2 : DESIGN THE FORM WITH THREE OPTION BUTTONS, TWO COMMON BUTTONS,
ONE TEXT BOX AND TWO LABELS.
STEP 3 : WRITE DOWN THE SOURCE CODE FOR ALL THE CONTROLS IN THE CODE
EDITOR WINDOW.
STEP 4 : THE FIRST OPTION IS TO CONVERT THE INPUT INTO BINARY.
STEP 5 : THE SECOND OPTION IS TO CONVERT THE INPUT INTO OCTAL.
STEP 6 : THE THIRD OPTION IS TO CONVERT THE INPUT INTO HEXADECIMAL.
STEP 7 : THE OUTPUT CAN NOW BE VIEWED IN THE TEXTBOX ACCORDING TO THE
CHOICES.
TOOLS:
CONTROLS PROPERTY SETTINGS
LABEL 1 CAPTION ENTER THE
NUMBER
LABEL 2 CAPTION CONVERSION
TEXT 1 TEXT (BLANK)
BUTTON 1 CAPTION &CLEAR
BUTTON 2 CAPTION &CLOSE
OPTION 1 CAPTION &BINARY
OPTION 2 CAPTION &OCTAL
OPTION 3 CAPTION &HEXADECIMAL
SOURCE CODE:
Private Sub Option1_Click() n1 = Val(Text1.Text)
Text1.Text = ""
Do While (n1 <> 0)
binary = n1 Mod 2
n1 = (n1 - binary) / 2
Text1.Text = Str(binary) & Text1.Text Loop
If Text1.Text = " " Then
Text1.Text = " "
End If
End Sub
Private Sub Option2_Click()
n1 = Val(Text1.Text)
Text1.Text = ""
Do While (n1 <> 0)
octal = n1 Mod 8
n1 = (n1 - octal) / 8
Text1.Text = Str(octal) & Text1.Text Loop
If Text1.Text = "" Then
Text1.Text = ""
End If
End Sub
Private Sub Option3_Click()
n1 = Val(Text1.Text)
Text1.Text = ""
Do While (n1 <> 0)
hexadecimal = n1 Mod 16
n1 = (n1 - hexadecimal) / 16
Text1.Text = Str(hexadecimal) & Text1.Text Loop
If Text1.Text = "" Then
Text1.Text = ""
End If
End Sub
Private Sub Text1_Change()
If Option1.value = True Then
cval = Val("&b" <rim(Text1.Text) & "&") ElseIf Option2.value = True Then
cval = Val("&o" <rim(Text1.Text) & "&") ElseIf Option3.value = True Then
cval = Val("&h" <rim(Text1.Text) & "&") Else
cval = Val(LTrim(Text1.Text) & "&") End If
End Sub
OUTPUT:
RESULT:
THE PROGRAM WAS EXECUTED AND THE OUTPUT WAS VERIFIED.
EX NO:08
DATE: EMPLOYEE DETAILS
AIM :
CREATE A TABLE FOR EMPLOYEE DETAILS WITH PRIMARY KEY.
ALGORITHM :
STEP 1 : START THE PROCESS.
STEP 2 : CREATE A TABLE NAME JOB WITH PRIMAY KEY.
STEP 3 : DECLARE THE EMPLOYEE DETAILS. EXAMPLE:NUMBER,NAME,
DESIGNATION,GENDER…ETC. THEN TABLE WILL BE CREATED.
STEP 4 : INSERT THE TABLE WITH THE TABLE NAME JOB WITH VALUES. THEN CREATE
10 ROWS.
STEP 5 : CREATE ANOTHER TABLE FOR SET OPERATORS WITH TABLE NAME E2.
STEP 6 : INSERT VALUES WITH 5 ROWS AND SELECT E2 FOR UNION, INTERSECT AND
UNION ALL.
STEP 7 : GROUP THE DATA’S WITH COUNT AND AVG.
STEP 8 : STOP THE PROCESS.
SOURCE CODE:
SQL>create table empdet(empno number(5)primary key,enamevarchar(15),designation
varchar(15),gender varchar(1),age number(2),dojdate,salary number(6));
Table created.
SQL>descempdet;
Name Null? Type
----------------------------------- -------- ---------------------
EMPNO NOT NULL NUMBER(5)
ENAME VARCHAR2(15)
DESIGNATION VARCHAR2(15)
GENDER VARCHAR2(1)
AGE NUMBER(2)
DOJ DATE
SALARY NUMBER(6)
SQL>insert into empdetvalues(&empno,'&ename','&designation','&gender',
&age,'&doj',&salary);
Enter value for empno: 123
Enter value for ename: amaravathi
Enter value for designation: programmer
Enter value for gender: f
Enter value for age: 26
Enter value for doj: 25-may-16
Enter value for salary: 42580
Old 1: insert into empdet
Values(&empno,’&ename’,’&designation’,’&gender’,&age.’&doj’,&salary) New 1: insert into
empdet values(123,’amaravathi’,programmer’,’f’,26,’25-may-16’,42580) 1 row created.
SQL>/
Enter value for empno: 18
Enter value for ename: boobesh Enter value for designation: sw tester Enter value for gender: m
Enter value for age: 29
Enter value for doj: 18-aug-16
Enter value for salary: 29600
1 row created.
SQL> /
Enter value for empno: 15
Enter value for ename: vinisha
Enter value for designation: developer Enter value for gender: f
Enter value for age: 32
Enter value for doj: 01-jan-13
Enter value for salary: 48600
1 row created.
SQL> /
Enter value for empno: 8
Enter value for ename: subash
Enter value for designation: project leader Enter value for gender: m
Enter value for age: 46
Enter value for doj: 26-jul-11
Enter value for salary: 78500
1 row created.
SQL> /
Enter value for empno: 5
Enter value for ename: asha
Enter value for designation: j.programmer Enter value for gender: f
Enter value for age: 23
Enter value for doj: 15-jun-15
Enter value for salary: 24000
1 row created.
SQL> /
Enter value for empno: 3
Enter value for ename: unnikrishnan Enter value for designation: hr
Enter value for gender: m
Enter value for age: 29
Enter value for doj: 13-feb-14
Enter value for salary: 59000
1 row created.
SQL> /
Enter value for empno: 2
Enter value for ename: tamilarasi Enter value for designation: manager Enter value for gender: f
Enter value for age: 56
Enter value for doj: 14-nov-12
Enter value for salary: 98000
1 row created.
SQL> /
Enter value for empno: 4
Enter value for ename: revanth Enter value for designation: programmer Enter value for gender: m
Enter value for age: 36
Enter value for doj: 28-mar-12 Enter value for salary: 32000
1 row created.
SQL>commit;
Commit complete.
SQL>select * from empdet;
EMPNO ENAME DESIGNATION G AGE DOJ SALARY ---------- --------------- --------------- -------
- --------- ----------
123 amaravathi programmer f 26 25-MAY-16 42580 18boobeshsw tester m 29 18-AUG-16 29600 15
vinisha developer f 32 01-JAN-13 48600 8 subash project leader m 46 26-JUL-11 78500 5 ashaj.
programmer f 23 15-JUN-15 24000 3unnikrishnan hr m 29 13-FEB-14 59000 2 tamilarasi manager f
56 14-NOV-12 98000 4 revanth programmer m 36 28-MAR-12 32000 8 rows selected.
SQL>select * from empdet where salary>=45000;
EMPNO ENAME DESIGNATION G AGE DOJ SALARY ---------- --------------- --------------- - -----
----- --------- ---------- 15vinisha developer f 32 01-JAN-13 48600 8 subash project leader m 46 26-
JUL-11 78500 3 unnikrishnan hr m 29 13-FEB-14 59000 2 tamilarasi manager f 56 14-NOV-12
98000
SQL>select * from empdet where gender='f' AND age>25;
EMPNO ENAME DESIGNATION G AGE DOJ SALARY ---------- --------------- --------------- - -----
----- --------- ----------
123 amaravathi programmer f 26 25-MAY-16 42580 15vinisha developer f 32 01-JAN-13 48600 2
tamilarasi manager f 56 14-NOV-12 98000
SQL>select * from empdet order by enameasc;
EMPNO ENAME DESIGNATION G AGE DOJ SALARY ---------- --------------- --------------- - -----
----- --------- ----------
123 amaravathi programmer f 26 25-MAY-16 42580 5ashaj. programmer f 23 15-JUN-15
24000 18boobeshsw tester m 29 18-AUG-16 29600
4 revanth programmer m 36 28-MAR-12 32000 8subash project leader m 46 26-JUL-11 78500 2
tamilarasi manager f 56 14-NOV-12 98000 3 unnikrishnan hr m 29 13-FEB-14 59000 15 vinisha
developer f 32 01-JAN-13 48600
8 rows selected
SQL>select SUM(salary),AVG(salary),MIN(salary),MAX(salary) from empdet;
SUM(SALARY) AVG(SALARY) MIN(SALARY) MAX(SALARY) ----------- ----------- ----------- --
---------
412280 51535 24000 98000
SQL> select MAX(doj) max,MIN(doj) min from empdet;
MAX MIN
--------- ---------
18-AUG-16 26-JUL-11
SQL>create table emp_per_det(empno number(5),enamevarchar(10),phno number(10),address
varchar(10),foreign key(empno) references empdet(empno));
Table created.
SQL>insert into emp_per_detvalues(&empno,'&ename',&phno,'&address'); Enter value for
empno: 2
Enter value for ename: tamilarasi
Enter value for phno: 4562130120
Enter value for address: chennai
1 row created.
SQL> /
Enter value for empno: 5
Enter value for ename: asha
Enter value for phno: 1234567890
Enter value for address: erode
1 row created.
SQL> /
Enter value for empno: 8
Enter value for ename: subash
Enter value for phno: 9874563210
Enter value for address: cbe
1 row created.
SQL> /
Enter value for empno: 18
Enter value for ename: boobesh
Enter value for phno: 4561230102
Enter value for address: cbe
1 row created.
SQL> /
Enter value for empno: 15
Enter value for ename: gokila
Enter value for phno: 1245789632
Enter value for address: cbe
1 row created.
SQL> /
Enter value for empno: 123
Enter value for ename: janiper
Enter value for phno: 4569874123
Enter value for address: chennai
1 row created.
SQL> /
Enter value for empno: 3
Enter value for ename: meena
Enter value for phno: 1254789653
Enter value for address: erode
1 row created.
SQL> commit;
Commit complete.
SQL>select * from emp_per_det;
EMPNO ENAME PHNO ADDRESS ---------- ---------- ---------- ---------- 2tamilarasi 4562130120
chennai 5 asha 1234567890 erode 8 subash 9874563210 cbe 18 boobesh 456102 cbe 15 gokila
1245789632 cbe 123 janiper 4569874123 chennai 3 meena 1254789653 erode
7 rows selected.
SQL>select empno,ename from empdet UNION select empno,ename from emp_per_det;
EMPNO ENAME
---------- ---------------
2 tamilarasi
3 meena
3 unnikrishnan
4 revanth
5 asha
8 subash
15gokila
15 vinisha
18 boobesh
123 amaravathi
123 janiper
11 rows selected.
SQL>select empno,ename from empdet INTERSECT select empno,ename from emp_per_det;
EMPNO ENAME
-------------------------
2tamilarasi
5 asha
8subash
18boobesh
RESULT :
THE PROGRAM WAS EXECUTED AND VERIFIED SUCCESSFULLY
EX NO:09
DATE : INVENTORY
AIM :
TO CREATE A TABLE FOR INVENTORY PRODUCTS IN AN ORACLE.
ALGORITHM :
STEP 1 : START THE PROCESS.
STEP 2 : CREATE A TBALE INVENTORY WITH PRIMARY KEY.
STEP 3 : DECLARE THE INVENTORY PRODUCTS. EXAMPLE: PRONO, PRONAME, RATE.
THEN TABLE WILL BE CREATED.
STEP 4 :INSERT THE VALUES WITH THE TABLE NAME. THEN CREATE 6 ROWS. STEP 5 :
SELECT THE INVENTORY TABLE AND DECLARE IT.
STEP 6 : ALTER THE INVENTORY TABLE.
STEP 7 : STOP THE PROCESS.
SQL>create table inventory(prono number(3), proname varchar2(25),rate
number(5,2));
Table created.
SQL>insert into inventory values(&no,'&name',&amt);
Enter value for no: 151
Enter value for name: pen
Enter value for amt: 48
old 1: insert into inventory values(&no,'&name',&amt)
new 1: insert into inventory values(151,'pen',48)
1 row created.
SQL> /
Enter value for no: 152
Enter value for name: box
Enter value for amt: 120
old 1: insert into inventory values(&no,'&name',&amt) new 1: insert into inventory
values(152,'box',120)
1 row created.
SQL> /
Enter value for no: 3
Enter value for name: pencil
Enter value for amt: 5
old 1: insert into inventory values(&no,'&name',&amt) new 1: insert into inventory values(3,'pencil',5)
1 row created.
SQL> /
Enter value for no: 4
Enter value for name: eraser
Enter value for amt: 3
old 1: insert into inventory values(&no,'&name',&amt) new 1: insert into inventory values(4,'eraser',3)
1 row created.
SQL> /
Enter value for no: 5
Enter value for name: scale
Enter value for amt: 5
old 1: insert into inventory values(&no,'&name',&amt)
new 1: insert into inventory values(5,'scale',5) 1 row created.
SQL> /
Enter value for no: 6
Enter value for name: sharpner
Enter value for amt: 5
old 1: insert into inventory values(&no,'&name',&amt) new 1: insert into inventory
values(6,'sharpner',5)
1 row created.
SQL>select * from inventory;
PRONO PRONAME RATE ------------- ------------------------- --------
151 pen 48.00 152 box 120.00 3 pencil 5.00
4 eraser 3.00 5 scale 5.00
6 sharpner 5.00
6 rows selected.
SQL>Declare
SQL> begin
2 update inventory set rate=rate+(rate*0.20); 3 commit;
4 end;
5/
PL/SQL procedure successfully completed.
SQL>select * from inventory;
PRONO PRONAME RATE
---------------- --------------------- ------------
151 pen 57.60
152 box 144.00
3 pencil 6.00
4 eraser 3.60
5 scale 6.00
6 sharpner 6.00
6 rows selected.
SQL>alter table inventory add quantity number(3); Table altered.
SQL>alter table inventory add value number(6,2); Table altered.
SQL>desc inventory;
Name Null? Type -------------------------- ----------------------------------------- PRONO NOT NULL?
NUMBER(3) PRONAME VARCHAR2(25) RATE NUMBER(5,2) QUANTITY NUMBER(3)
VALUE NUMBER(6,2)
RESULT :
THE PROGRAM WAS EXECUTED AND VERIFIED SUCCESSFULLY.
EX NO :10
DATE : TRIGGER
AIM :
TO CREATE A DATABSE TRIGGER TO IMPLEMENT WHICH ARE
BASED ON INVENTORY MANAGEMENT SYSTEM FOR CHECKING DATA VALIDITY
ASSUME THE NECESSARY FIELDS FOR THE BOTH TABLES.
ALGORITHM :
STEP 1 : START THE PROCESS.
STEP 2 : CREATE A TABLE NAME WITH INV_MASTER4347.
STEP 3 : DECLARE THE INV_MASTERPRODUCTS.EXAMPLE:NUMBER,NAME,
RATE,…ETC. THEN THE TABLE WIL BE CREATED WITH PRIMARY KEY.
STEP 4 : USE DESCRIPTION WITH INV_MASTER4347.
STEP 5 : CREATE ANOTHER TABLE NAME INV_TRANS437 WITH THE FIELDS WITH
FOREIGN KEY.
STEP 6 : INSERT THE VALUES AND CREATE 2 ROWS.
STEP 7 : CREATE OR REPLACE TRIGGER WITH INSERT, UPDATE AND INSERT VALUES.
STEP 8 : CREATE TO DECLARE DISCOUNT FOR OUTPUT AND UPDATE
THE TRANSACTION.
STEP 9 : STOP THE PROCESS.
TABLE 1- INV_MASTER
SQL>create table inv_master4347(prononumber(5) NOT NULL,
proname varchar2(30), rate number(5), stockstatus number(5),
constraint prono_pk4347 primary key(prono));
Table created.
SQL>desc inv_master4347;
Name Null? Type
--------------------------------------------------------- ---------------------------- PRONO NOT NULL
NUMBER(5)
PRONAME VARCHAR2(30) RATE NUMBER(5)
STOCKSTATUS NUMBER(5)
TABLE 2- INV_TRANSACTION
SQL>create table inv_transaction4347(invid number (5), prononumber(5) NOT
NULL, quantity number(5), amount number(5),
constraint prono_fk4347 foreignkey(prono) references inv_master4347); Table created.
SQL>desc inv_transaction4347;
Name Null? Type
--------------------------------------------------------- ---------------------------- INVID NUMBER(5)
PRONO NOT NULL NUMBER(5)
QUANTITY NUMBER(5)
AMOUNT NUMBER(5)
(ii) Inserting Values
TABLE 1-INV_MASTER
SQL>insert into inv_master4347 values('&prono','&proname', '&rate','&stockstatus'); Enter
value for prono : 111
Enter value for proname :Pendrive
Enter value for rate : 400
Enter value for stockstatus : 30
old 1: insert into inv_master4347 values('&prono','&proname', '&rate', '&stockstatus') new 1: insert
into inv_master4347 values('111','Pendrive','400', '30')
1 row created.
SQL>/
Enter value for prono : 222
Enter value for proname :Memorycard
Enter value for rate : 350
Enter value for stockstatus : 20
old 1: insert into inv_master4347 values ('&prono','&proname', '&rate', '&stockstatus') new 1: insert
into inv_master4347 values('222','Memorycard','350', '20') 1 row created.
SQL>/
Enter value for prono : 333
Enter value for proname :Cardreader
Enter value for rate : 300
Enter value for stockstatus : 10
old 1: insert into inv_master4347 values ('&prono','&proname', '&rate', '&stockstatus')
new 1: insert into inv_master4347 values('333','Cardreader','300', '10') 1 row created.
SQL>commit;
commit complete.
SQL> select * from inv_master4347;
PRONO PRONAME RATE STOCKSTATUS -----------------------------------------------------------------
--------------------- 111 Pendrive 400 30
222 Memory card 350 20
333 Card reader 300 10
3 rows selected
TABLE 2-INV_TRANSACTION
SQL>insert into inv_transaction4347 values('&invid','&prono', '&quantity','&amount');
Enter value for invid : 10
Enter value for prono : 111
Enter value for quantity : 1
Enter value for amount : 100
old 1: insert into inv_transaction4347 values('&invid','&prono', '&quantity ','&amount') new 1: insert
into inv_transaction4347 values('10','111 ','1', '100')
1 row created.
SQL>/
Enter value for invid : 20
Enter value for prono : 222
Enter value for quantity : 2
Enter value for amount : 300
old 1: insert into inv_transaction4347 values('&invid','&prono', '&quantity ','&amount') new 1: insert
into inv_transaction4347 values('20','222 ','2', '300')
1 row created.
SQL>/
Enter value for invid : 30
Enter value for prono : 333
Enter value for quantity : 3
Enter value for amount : 500
old 1: insert into inv_transaction4347 values('&invid','&prono', '&quantity ','&amount') new 1: insert
into inv_transaction4347 values('30','333','3', '500')
1 row created.
SQL>commit;
commit complete.
SQL>select * from inv_transaction4347;
INVID PRONO QUANTITY AMOUNT
----------------------------------------------------------------------------
10 111 1 100
20 222 2 300
30 333 3 500
3 rows selected
SQL> create or replace trigger csc4347_a
before insert or update of stockstatus on inv_master4347
for each row
begin
if(:new.stockstatus<10) then
raise_application_error
(-20010,'Reorder Level Reached!');
end if;
end;
/
Trigger created.
SQL>insert into inv_master4347 values('&prono','&proname', '&rate', '&stockstatus'); Enter
value for prono : 444
Enter value for proname : Headset
Enter value for rate : 250
Enter value for stockstatus : 5
old 1: insert into inv_master4347 values('&prono','&proname', '&rate', '&stockstatus') new 1: insert
into inv_master4347 values('444','Headset','250', '5')
insert into inv_master4347 values('444','Headset','250', '5')
ERROR at line 1:
ORA-20010: Reorder Level Reached!
ORA-06512: at "SCOTT.CSC4347_A", line 3
ORA-04088: error during execution of trigger 'SCOTT.CSC4347_A'
SQL> create or replace trigger csc4347_a1
before delete or insert or update on inv_transaction4347
for each row
when(new.invid>0)
declare
discount number;
begin
discount:= :old.amount - :new.amount;
dbms_output.put_line(‘Old amount:’|| :old.amount);
dbms_output.put_line(‘New amount:’|| :new.amount);
dbms_output.put_line(‘Discount:’|| discount);
end;
Trigger created.
SQL>update inv_transaction4347 set amount = amount-100 where invid=30;
Old amount: 500
New amount: 400
Discount: 100
SQL>select * from inv_transaction4347;
INVID PRONO QUANTITY AMOUNT ----------------------------------------------------------- 10 111 1
100 20 222 2 300 30 333 3 400
RESULT :
THE PROGRAM WAS EXECUTED AND VERIFIED SUCCESSFULLY
EX NO :11
DATE : PROCEDURE
AIM :
TO CREATE PROCEDURE USING SQL COMMAND.
ALGORITHM :
STEP 1 : START THE PROCESS.
STEP 2 : CREATE A PROCEDURE WITH PROCEDURE NAME.
STEP 3 : GIVE THE FOLLOWING COMMANDS TO EXECUTE THE PROCEDURE.
STEP 4 : USE EXECUTE COMMAND FOR EXECUTION.
STEP 5: STOP THE PROCESS.
SOURCE CODE:
SQL> CREATE OR REPLACE PROCEDURE greetings
2 AS
3 BEGIN
4 dbms_output.put_line('hello world');
5 END;
6 /
Procedure created.
SQL> BEGIN
2 greetings;
3 END;
4 /
PL/SQL procedure successfully completed.
SQL> EXECUTE greetings;
PL/SQL procedure successfully completed.
RESULT :
THE PROGRAM WAS EXECUTED AND VERIFIED SUCCESSFULLY
EX NO :12
DATE : CONNECTIVITY
AIM :
TO WRITE A SIMPLE VISUAL BASIC PROGRAM TO DISPLAY THE CONNECTIVITY
OF A PROGRAM
ALGORITHM :
STEP 1 : OPEN A NEW FORM.
STEP 2 : PLACE A FLEXGRID FOR DISPLAY THE STUDENT PERSONAL
INFORAMTION.
STEP 3 : PALCE A ADODC CONTROL FROM THE COMPONENTS MENU FOR
CONNECTION.
STEP 4 : CHOOSE MDI FORM FROM THE PROJECT MENUS PROJECT PROPERTIES. STEP 5
: USING MENU EDITOR, DESIGN THE MDI FORM WITH THE NECESSARY MENU AND SUB
MENU OPTIONS.
STEP 6 : WRITE DOWN THE SOURCE CODE FOR THE SUBMENUS AND THE COMMAND
BUTTONS AND OTHER CONTROLS IN THE CODE EDITOR
WINDOW.
STEP 7 : NOW WE CAN VIEW THE ANSWER FOR THE CHOSEN SUBMENU.
SOURCE CODE:
Private Sub Command1_Click()
If Text1.Text = "" Or Text2.Text = "" Then MsgBox ("Enter login details")
ElseIf Text1.Text = "a" And Text2.Text = "a" Then MsgBox ("Login Sccessful")
Me.Hide
Form2.Show
Form2.delete.Enabled = True
Form2.add.Enabled = True
Form2.update.Enabled = True
End If
End Sub
Private Sub Command2_Click()
Form2.Show
End Sub
Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
End Sub
Private Sub add_Click()
Text1.SetFocus
Adodc1.Recordset.AddNew
End Sub
Private Sub delete_Click()
Adodc1.Recordset.delete
Adodc1.Recordset.MoveNext
If Adodc1.Recordset.EOF = True Then Adodc1.Recordset.MovePrevious End If
End Sub
Private Sub Exit_Click()
Unload Form2
End Sub
Private Sub first_Click()
Adodc1.Recordset.MoveFirst End Sub
Private Sub Form_Load()
Adodc1.Visible = False
End Sub
Private Sub last_Click()
Adodc1.Recordset.MoveLast
End Sub
Private Sub login_Click()
Form1.Show
End Sub
Private Sub next_Click()
Adodc1.Recordset.MoveNext If Adodc1.Recordset.EOF = True Then Adodc1.Recordset.MoveLast
End If
End Sub
Private Sub prev_Click()
Adodc1.Recordset.MovePrevious If Adodc1.Recordset.BOF = True Then
Adodc1.Recordset.MoveFirst
End If
End Sub
Private Sub update_Click()
Adodc1.Recordset.update
End Sub
Private Sub add_Click()
Text1.SetFocus
Adodc1.Recordset.AddNew
End Sub
Private Sub delete_Click()
Adodc1.Recordset.delete
Adodc1.Recordset.MoveNext
If Adodc1.Recordset.EOF = True
Then
Adodc1.Recordset.MovePrevious
End If
End Sub
Private Sub Exit_Click()
Unload Form3
End Sub
Private Sub first_Click()
Adodc1.Recordset.MoveFirst
End Sub
Private Sub Form_Load()
Adodc1.Visible = False
End Sub
Private Sub last_Click()
Adodc1.Recordset.MoveLast
End Sub
Private Sub next_Click()
Adodc1.Recordset.MoveNext
If Adodc1.Recordset.EOF = True
Then Adodc1.Recordset.MoveLast
End If
End Sub
Private Sub prev_Click()
Adodc1.Recordset.MovePrevious
If Adodc1.Recordset.BOF = True Then
Adodc1.Recordset.MoveFirst
End If
End Sub
Private Sub update_Click()
Adodc1.Recordset.update
End Sub
Private Sub Exit_Click()
Unload Me
End Sub
Private Sub Command1_Click()
Unload Me
End Sub
Private Sub EditDet_Click()
Load Form1
End Sub
Private Sub EditMark_Click()
Me.Hide
Form3.Show
End Sub
Private Sub Quit_Click()
Unload Me
End Sub
Private Sub ViewDet_Click()
Form5.Show
End Sub
Private Sub ViewMar_Click()
Me.Hide
Form4.Show
End Sub
OUTPUT:
RESULT :
THE PROGRAM WAS EXECUTED AND VERIFIED SUCCESSFULLY