Introduction to ADO Net VB Net Database Tools
Introduction to ADO. Net, VB. Net Database Tools and Data Binding ISYS 512
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 Data Consumer Dataset Win. Form Command Reader Web. Form
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. • Data. Reader: It is a read-only and forward-only pointer into a table to retrieve records. • Data. Set Object: A Data. Set object can hold several tables and relationships between tables. • Data. Adapter: 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
Using ODBC • Windows XP: • Control Panel /Administrative Tools/Data. Source(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/Import – Access: File/Get External Data/Import, then select ODBC data source
VB. NET Database Tools • Database connection: – Tools/Connect to database • Data Source • Server Explorer – Data connections: Right click data connection • Add Connection – Tables, Views • Create new SQL Server Database • Toolbox: Data tab • Data/Add New Data Source
Creating SQL Server Database • From Server Explorer, right click data connection and choose: • Create new SQL Server Database • Server name: – Local. Server. NameSQLExpress • Add new table: Right click Tables and choose Add New Table • Add rows: Right click the table name and choose Show table data. • Note: After creating the database, you may create an ODBC DSN to connect to it.
How to create ADO. Net objects? • Automatically generated when creating data bound form. – Form wizard • Using Data Adapter Wizard • Using code: – Example: – dim str. Conn as string ="Provider=Microsoft. Jet. OLEDB. 4. 0; Data Source = c: sales 2 k. mdb" – dim obj. Conn as new Oledb. Connection(str. Conn) – obj. Conn. 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 Data. Grid 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 • Connection • 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
Generated Code Private Sub CUSTOMERBinding. Navigator. Save. Item_Click(By. Val sender As System. Object, By. Val e As System. Event. Args) Handles CUSTOMERBinding. Navigator. Save. Item. Click Me. Validate() Me. CUSTOMERBinding. Source. End. Edit() Me. CUSTOMERTable. Adapter. Update(Me. Sales. DBData. Set. CUSTOMER) End Sub Private Sub Form 3_Load(By. Val sender As System. Object, By. Val e As System. Event. Args) Handles My. Base. Load 'TODO: This line of code loads data into the 'Sales. DBData. Set. CUSTOMER' table. You can move, or remove it, as needed. Me. CUSTOMERTable. Adapter. Fill(Me. Sales. DBData. Set. CUSTOME R) End Sub
Other Data Form Demos • Data. Grid View • Add /Modify/Delete records. • Read only form: – Delete Add. New, 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 data. Grid view – Click Dataset object’s smart tag to choose Edit in Dataset Designer – With the designer, right click the parent table and choose Add/Relation – Change data. Grid’s Data. Source property to the relation.
Detail Form with Bound List. Box • 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 List. Box – Drag the Customer table to the form. – Bind the CID field to the Binding. Source: • Activate the Property window and click the listbox • Set the Data. SOurce property to Binding. Source • 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: – Display. Info – Enter New – Modify – Exit
Data Adapter Wizard • Configure Data Adapter and generating a dataset: – From the Data tab of the Tool. Box, Drag Oledb. Data. Adapter to the form. – Use the Data Adapter Wizard to configure the Adapter. – Right Click the Adapter to preview data and create dataset. • Bind the dataset to controls. • In the Form Load event, use Adapter’s Fill method to load the dataset: • Ole. Db. Data. Adapter 1. Fill(Data. Set 11)
Creating Bound Data. Grid. View • Data. Grid. View control: – Data Source property: • Data. Set – Data Member property • A table in the dataset – In the Form Load event, use Adapter’s Fill method to load the dataset: • Ole. Db. Data. Adapter 1. Fill(Data. Set 11) • Note: A Binding. Source object is created after choosing data source.
Binding. Source Object • It is an object that keeps track of position (the current row) of a data source. • Useful properties: – Data. Source – Data. Member – Position property: is the index of the current row. The index is a 0 based index, the first record has a position of 0. • Methods: – – Move. First, Move. Last, Move. Next, Move. Previous Add. New Allow. Edit End. Edit
Adding Add. New and Save Button • Private Sub Button 1_Click(By. Val sender As System. Object, By. Val e As System. Event. Args) Handles Button 1. Click • CUSTOMERBinding. Source. Add. New() • End Sub • Private Sub Button 2_Click(By. Val sender As System. Object, By. Val e As System. Event. Args) Handles Button 2. Click • CUSTOMERBinding. Source. End. Edit() • CUSTOMERTable. Adapter. Update(Sales. DBData. Set 1. CUSTOM ER) • End Sub
Adding Add. New and Save Button Add. New button: Use Binding. Source Add. New Method: Private Sub Button 1_Click(By. Val sender As System. Object, By. Val e As System. Event. Args) Handles Button 1. Click CUSTOMERBinding. Source. Add. New() End Sub Save button: Use Binding. Source End. Edit method and Adapter’s Update method: Private Sub Button 2_Click(By. Val sender As System. Object, By. Val e As System. Event. Args) Handles Button 2. Click CUSTOMERBinding. Source. End. Edit() CUSTOMERTable. Adapter. Update(Sales. DBData. Set 1. CUSTOMER) End Sub
Binding. Source’s Position Property • If controls are bound to a Binding. Source object, to move the current record we change the Position property of the Binding. Source object: – To move to the next record: • Me. Emp. Binding. Source. Position += 1 • Or Me. Emp. Binding. Source. Move. Next – To move to the previous record: • Me. Emp. Binding. Source. Position -= 1 • Or Me. Emp. Binding. Source. Move. Previous
Binding Text Box • Select Data Bindings property: – Text: choose field • Add navigation buttons: – Move. Next: • CUSTOMERBinding. Source. Position += 1 – Move. Previous: • CUSTOMERBinding. Source. Position -= 1
Other Objects Related to Data Binding • Binding. Context: It is an object that manages a collection of data sources used for binding. • Currency. Manager: It is an object that keeps track of position (the current row) of a data source. Two useful properties: – Position property: is the index of the current row. The index is a 0 -based index, the first record has a position of 0. – Count property: The number of rows in the data source.
Move. Next and Move. Last Example • Move. Next: – Me. Binding. Context(Data. Set 21, "customer"). Position += 1 • Move. Last: – Me. Binding. Context(Data. Set 21, "customer"). Position = Me. Binding. Context(Data. Set 21, "customer"). Count -1 • How to Move. Previous and Move. First? • Note: The Position property takes care of the end of file automatically. • Note: Me. Binding. Context(Data. Set 21, "customer") returns a Currency. Manager object.
Binding. Navigator Object • This object automatically adds navigation buttons to the form. • Property: – Binding. Source property • Specify a Binding. Source object • (Must first define a Binding. Source object)
Binding List. Box • Example: Bind Customer Table’s CID field to a listbox. – Create a Adapter for Customer table , and generate the dataset. – Add List. Box and set binding properties: • Data Source: Customer table • Display Member: Field to display in the listbox. • Value Member: the actual values for items in the list box.
Display Selected Record • Bound textbox (same data source as the listbox): – If the Listbox and the textbox are bound to the same Binding. Source object, the textbox will automatically displays the record of the selected listbox item. • Unbound textbox – To display the Value. Member • Textbox 1. text = List. Box 1. Selected. Value – To display other fields: • Textbox 1. text = List. Box 1. Selected. Item(“Cname”) • Can we use Text. Box 1. text=List. Box 1. Selected. Item? No!
List. Box Selected. Item Property • How to display the selected record in unbound textbox? • After binding to a data source, this property return a Data. Row. View object. • What is Data. Row. View? – Object Browser: • System. Data – Data. Row. View: Item property is the default property • To retrieve a column from a Data. Row. View object (use 0 -based index to identity a column): • List. Box 1. Selected. Item(1) • Or: List. Box 1. Selected. Item(“Cname”)
Using Object Browser • View/Object Browser • Data. Set object model: • System. Data – Data. Set • Relations • Tables – Rows – Columns • Use Object Browser to study object’s properties, methods.
- Slides: 33