Download presentation
Presentation is loading. Please wait.
Published byGabriel Blake Modified over 9 years ago
1
BIM313 – Advanced Programming Database Operations 1
2
Contents Database Structure – Database, Table, Fields, Primary Key, SQL Statements, Select, Insert, Update, Delete Database Operations with C# Data Objects – Designing database, Adding database into solution, Displaying a table, Displaying a single record Database Example 2
3
A Note about the Slides The slides were prepared originally for Visual Studio 2008 Almost everything is the same in Visual Studio 2012 Some improvements in Visual Studio 2012 are also included 3
4
Database A database is an integrated collection of logically related records. A database contains tables. The columns of a table is called fields. The rows of a table is called records. The records are accessed by SQL commands. 4
5
Database Applications A database application is designed using these steps: 1.Determine tables and fields 2.Design database 3.Write a program which reads and manipulates the database In this course, we’ll use Microsoft Access and integrated data tools in Visual Studio to design databases. 5
6
Exercise Today, we are going to write a simple database application which displays information about students and courses that students take. 6
7
1. Determining Tables We need three tables: – Students Contains information about the students, such as ID number, name, birthday, age, etc. – Courses Contains information about the courses, such as course code, course name, instructor, etc. – Enrolment Contains information about which student is enrolled to which course 7
8
Students Table Students table contains these fields: – ID – First name – Last name – Birthday – Age Notice that these fields are related to a student only (Remember the structs in C) 8
9
A Sample Students Table IDFirst NameLast NameBirthdayAge 1BaharÇağlar01.02.199217 2EşrefPazar03.04.199316 3ErginKaradağ05.06.199415 4İrfanKarazor07.08.199514 5SelenDarat09.10.199613 9
10
Courses Table Courses table contains these fields: – Course code – Course name – Instructor Adding an ID field will make the database operations simpler: – Course ID 10
11
A Sample Courses Table Course IDCourse CodeCourse NameInstructor 1BIM111 Introduction to Computer Engineering Muzaffer DOĞAN 2BIM211Visual ProgrammingMuzaffer DOĞAN 3BIM201System SoftwareCüneyt AKINLAR 4BIM309Artificial IntelligenceSedat TELÇEKEN 5BIM213 Data Structures and Algorithms Cüneyt AKINLAR 11
12
Enrolment Table Enrolment table contains information about the courses taken by each students. It has two fields: – Student ID – Course ID For example, if a record with Student ID = 1 and Course ID = 2, then it means that the student with ID = 1 (Bahar Çağlar) takes the course with ID = 2 (Visual Programming) 12
13
A Sample Enrolment Table Student IDCourse ID 12 13 21 22 24 32 35 41 43 52 55 13
14
Primary Key Primary key is the field which uniquely identifies each row in a table A primary key comprises a single column or a set of columns ID field in Students table and Course ID field in Courses table are primary keys Both Student ID and Course ID fields in Enrolment table must be primary keys Always create primary keys for tables. 14
15
2. Designing Database The database design steps are explained in detail in the next slides The basic steps are – Open Microsoft Access – Create a database file of format Office 2002-2003 with the extension *.mdb Office 2007-2010 format (*.accdb) is also used but it may have some difficulties. – Create tables in design view – Enter records – Close MS Access 15
16
Open MS Access 16
17
Click Office Button and Select New 17
18
On the right pane, click Browse button 18
19
Select a folder, a file name, and Office 2002- 2003 format with extension *.mdb 19
20
Click Create Button 20
21
Right-click Table1 on left-pane and select Design View 21
22
Give a name to the table and click OK button 22
23
Write StudentID into the first field 23
24
Notice the yellow “Primary Key” icon on the left 24
25
Write “FirstName” into second field and set “Text Size” as 30 25
26
Write “LastName” into third field and set its “Text Size” as 30 26
27
Write “BirthDay” to fourth field and set its type as “Date/Time” 27
28
Write “Age” into fifth field, set its type as “Number” and select “Integer” as its size 28
29
Close Design View of Students table 29
30
Click Yes to save the changes 30
31
Click “Create” tab and select “Table” 31
32
Right-click Table1 and select Design View 32
33
Write the name “Courses” and click OK 33
34
Fill the field names and set their types and sizes. Click Close button. 34
35
Click Yes to save the changes 35
36
Give the command Create - Table 36
37
Right-click Table1 and select Design View 37
38
Write Enrolment as the table name and click OK 38
39
“StudentID”, Number, Long Integer 39
40
“CourseID”, Number, Long Integer 40
41
Using mouse, select both StudentID and CourseID fields 41
42
Click “Primary Key” button and notice that both fields become primary keys 42
43
Close the Design View of Enrolment table 43
44
Click Yes to save the changes 44
45
Double-click Students table 45
46
Fill the records (don’t write anything into StudentID field, it is automatically filled) 46
47
Double-click Courses table and enter the records 47
48
Double-click Enrolment table and enter the records 48
49
Close the MS Access window 49
50
3. Writing the Program a)Adding database file into solution b)Displaying students c)Adding new student d)Changing student info e)Deleting a student f)Displaying all courses a student take 50
51
a) Adding Database File into Solution 51
52
Summary of the Steps Create a new project Copy the database file into the solution folder Add the database file into the solution in Visual Studio 2012 52
53
Copy database file into solution folder 53
54
Right-click project name, click Add, click Existing Item… 54
55
Filter Data Files, Select the database file and click Add 55
56
Select all tables and click Finish 56
57
Choose a database model and click “Next” 57
58
Database file and automatically generated files are displayed in Solution Explorer 58
59
In the “Data Sources” window, you’ll see the data sets for each table 59
60
After you build your program, you’ll see some additional project-related objects at the top of the toolbox 60
61
b) Displaying Students 61
62
Drag & drop the “Students” data set from the “Data Sources” window 62
63
Click on the triangle at the top-right corner of the DataGridView object and click on “Dock in Parent Container” 63
64
Execute the Program You can add a new student; delete or change an existing student using the toolbar above the form 64
65
Precise Control In some cases, this method works for you. But in many cases, you want to control the inserting, deleting and updating operations Additionally, your data may be coming from more than one tables and this type of automatic table display does not work for you Therefore, you may want to add the DataGridView object and code it by yourself. 65
66
The data-related objects are located under the “Data” menu of the toolbox: 66
67
Drag & Drop a DataGridView object 67
68
Choose Students as the Data Source 68
69
Execute the Program 69
70
What to Notice? Notice that... – We didn’t write any code! – When we select Data Source, some controls are added to the form automatically by Visual Studio! – Some codes are added into Load event handler of the form automatically by Visual Studio! 70
71
Which controls are added? 71
72
Which code is added? 72
73
Controls studentsTableAdapter – The interface between program and database schoolDataSet – All data is written into this dataset studentsBindingSource – Binds data to the controls (e.g. DataGridView) on the form 73
74
Controls 74 Database Table Adapter Data Set Binding SourceForm
75
The Code this.studentsTableAdapter.Fill(this.schoolDataSet.Students); 75 Controls added into solution automatically by Visual Studio The method which acquires data from database The table which is used to store query results from Students table of the database
76
Acquiring Data of One Student All data acquirement operations are done by TableAdapter object Fill method is the method which brings all data from the table If you want to get only one student’s data, you need to create a new query in the TableAdapter object 76
77
Click on the triangle on table adapter object and select Add Query command 77
78
Write FillByStudentID as query name and click Query Builder button 78
79
Go to the Filter column of StudentID row and write “=?” and click OK 79
80
Query Builder All data are acquired from database via SQL commands Query builder makes writing SQL commands easier By clicking Execute button, you can display the result of your query Notice that the SQL command is changed after you write “=?” into the Filter column Here, “?” represents a parameter for the query 80
81
Click OK to return to Visual Studio 81
82
A ToolStrip is automatically added into the form 82
83
A new code which uses the new FillByStudentID method is added into the codes 83
84
Run the program, write a number into StudentID box, and click FillByStudentID button 84 Only the student with the selected ID is displayed
85
About the ToolStrip Generally, the ToolStrip which is added by Visual Studio is not wanted You can simply delete the ToolStrip and write your own code Click on the ToolStrip icon below the form (near other automatically added controls) and press Delete button from the keyboard 85
86
Displaying One Student’s Info by Code Place a button on the form and write the following code in its Click event handler: 86 this.studentsTableAdapter.FillByStudentID( this.schoolDataSet.Students, 3); In the code above, the Students table in the data set is filled by the FillByStudentID method of the table adapter with the data of the student with ID 3.
87
Execution of the Program: 87
88
When “One Student” button is clicked: 88
89
Is it displayed automatically? Notice that we only filled the data set and we didn’t write any code to display new data in DataGridView object So, how was data displayed in DataGridView? This task is accomplished by the Binding Source object. So, you just need to bring and write data into the data set and it is automatically displayed in the controls on the form by the Binding Source 89
90
Other Methods in Table Adapter Object The studentsTableAdapter control has some useful methods: – Fill() : Get data from database – Insert() : Add a new record to the database – Update() : Change an existing record – Delete() : Delete an existing record These methods correspond to the SQL commands of types Select, Insert, Update, and Delete respectively 90
91
SQL Command Types and Corresponding Methods SQL Command TypeTable Adapter Method SELECTFill() FillByStudentID() FillByStudentName() etc. INSERTInsert() UPDATEUpdate() DELETEDelete() 91
92
c) Adding New Student (will be covered in next week) 92
93
d) Changing Student Info (will be covered in next week) 93
94
e) Deleting a Student (will be covered in next week) 94
95
f) Displaying All Courses a Student Take (will be covered in next week) 95
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.