Visual Basic Database Access

Download Report

Transcript Visual Basic Database Access

Introduction to ADO.Net and VS
Database Tools and Data Binding
ISYS 350
Client/Server Structure
a. Presentation – user interface
• Menus, forms, reports, etc
b. Processing logic
• Business rules
c. Database
SQL queries
Client
Database Server
Results
Database Processing
• Querying database
• Updating database:
– Insertion, deletion, modification
Steps to Retrieve Data
• Establishes a connection to the database.
• Executes commands against the database.
• Store data results.
A Simplified View of ADO.Net
Objects
Ado.Net
Data Provider
Adapter
Connection
Dataset
SQL Updates
Data Consumer
WinForm
Command
WebForm
Reader
Results of SQL Selects
ADO.NET Objects
• Connection Object: Represent a connection to the
database.
• Command Object: The command object allows us
to execute a SQL statement or a stored procedure.
• DataReader: It is a read-only and forward-only
pointer into a table to retrieve records.
• DataSet Object: A DataSet object can hold several
tables and relationships between tables.
• DataAdapter: This the object used to pass data
between the database and the dataset.
Data Providers
• ODBC Provider
– Open Database Connectivity
• A driver manager
• Used for relational databases
• OLE DB Provider
– OLE DB interfaces provide applications with uniform access to
data stored in diverse information sources, or data stores.
– Access
• SQL Server Provider
• Oracle Provider
– Microsoft’s .NET data provider for Oracle
• Etc.
Using ODBC
• Windows 7:
• Control Panel /Administrative Tools/DataSource(ODBC)
• Three types of data source names
– User DSN: usable only by you and only on the machine
currently using.
– System DSN: Any one using the machine can use.
– File DSN: Can be copied and used by other computers
with the same driver installed.
• Demo:
– Excel: Data/Get External Data/From other sources
– Access: File/Get External Data/Import, then select ODBC
data source
• Note: For 32 bit software, you have to open the
ODBC panel from
C:\Windows\SysWOW64\odbcad32.exe
VS Database Tools
• Add a new connection to database:
– Database connection:
• Tools/Connect to database
– Add Connection
– Server Explorer
• Data connections: Right click data connection
– Add Connection
» Tables, Views
• Create new SQL Server Database
• Add a new data source:
– Data/Add New Data Source
– Data/Show Data Source
Adding Data Source to C# Project
• Data/Add New Data Source
– Database:
• Using the connections
– Service
– Object
How to create ADO.Net objects?
• Automatically generated when creating
data bound form.
– Form wizard
• Using Data Adapter Wizard
• Using code:
– Example:
– dim strConn as string ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source
= c:\sales2k.mdb"
– dim objConn as new OledbConnection(strConn)
– objConn.open()
Data Binding
• Connect a control or property to one or more data
elements.
• Simple binding: Use simple binding to display a
field value in controls that show Data Bindings in
the property window, such as text box or label.
• Complex binding: Use complex binding to bind
more than one field to controls such as DataGrid
and list box. Use the control’s Data Source and
Data Member to bind the data.
Creating Data Bound Form
• Creating a form with ADO.Net objects and databound controls to display and update information in
a dataset.
• Demo:
– Add data source:
• Data/Add New Data Source
• Data/Show Data Source
– Click the dropdown list next to the table’s name:
• Datagrid view
• Details
– Drag the table to form.
Items Added to the Form
• Table Adapter: click smart tag
– Add query
– Preview data
• Dataset:
– Edit in dataset designer
• Binding Source
– Add query: Add a new tool strip.
– Preview data
• Binding navigator
• Code view: Form load event
Other Data Form Demos
• DataGrid View
• Add /Modify/Delete records.
• Read only form:
– Delete AddNew, Delete, Save buttons from
navigator bar.
Hierarchical Forms
• Parent table/Child table
– Add parent table and child table to Data Source
– Drag the parent table and the child table to the form.
Parent table uses detail view and child table uses
dataGrid view
– RightClick Dataset object to choose Edit in Dataset
Designer
– With the designer, right click the parent table and
choose Add/Relation
– Change dataGrid’s DataSource property to the relation.
Detail Form with Bound ListBox
• Example: Customer table form with CID listbox
and displays selected customer information in
textboxes.
– Choose detail view for the customer table.
– Click the dropdown list next to the CID field and click
ListBox
– Drag the Customer table to the form.
– Bind the CID field to the BindingSource:
• Activate the Property window and click the listbox
• Set the DataSOurce property to BindingSource
• Set the Display Member property to CID
Creating A Database Application
Without Programming
• Creating a database application to display
information and update database.
• A main form with buttons to open data
forms:
–
–
–
–
DisplayInfo
Enter New
Modify
Exit
Form
• Form is defined as a class.
• Methods:
–
–
–
–
To open a form: Show, ShowDialog
Activate, Focus: Make an opened form get focus
Hide, Close
Ex.
• this.Hide(), this.Close()
• Events:
– Load, Activated, DeActivate, Closing, Closed
• Modeless form: Other forms can receive
input focus while this form remains active.
– FormName.Show()
• Modal form: No other form can receive
focus while this form remains active.
– FormName.ShowDialog()
Multiple Forms
Two forms: Form1, Form2
To Open Form2 from Form1:
Standard but troublesome way to open a form: Must create
an instance of the form class by using the keyword New to
access the form.
Form2 f2 = new Form2 ();
Open Form2 as a Modeless form:
f2.Show ();
Open Form2 as a Modal form:
f2.ShowDialog();
Demo: Problem with the Show method