Presentation is loading. Please wait.

Presentation is loading. Please wait.

VB.NET Database Access ISYS546. Microsoft Universal Data Access ODBC: Open Database Connectivity –A driver manager –Used for relational databases OLE.

Similar presentations


Presentation on theme: "VB.NET Database Access ISYS546. Microsoft Universal Data Access ODBC: Open Database Connectivity –A driver manager –Used for relational databases OLE."— Presentation transcript:

1 VB.NET Database Access ISYS546

2 Microsoft Universal Data Access ODBC: Open Database Connectivity –A driver manager –Used for relational databases OLE DB: The OLE database protocol –Allows a program to access information in any type of data source. –Data provider: databases, spreadsheets, etc. ADO.NET: ActiveX Data Objects –An Interface for OLE DB. –Allow programmers to use a standard set of objects to refer to any OLE DB data source.

3 Program ADO.NET OLE DB Provider Data Source OLE DB Provider ODBC Data Source

4 Using ODBC Windows 2000: 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.

5 VB.NET Database Tools Database connection: –Tool/Connect to database Provider:MS Jet 4.0 OLE DB Provider Connection Server Explorer –Data connections: Right click and Add Connection Tables, Views –Server Right click server to access New Database designer. Database diagrams (set relationships) Tables (right click to access the context menu for Table Designer) Views (right click to access the context menu for View Designer) Stored procedures Toolbox Data tab Data Form Wizard

6 Steps to Retrieve Data Establishes a connection to the database. Executes commands against the database. Store data results.

7 ADO.NET Objects Data Set.NET Applications Data Reader Command Object Connection Object Managed Data Provider (OLEDB) Database Adapter

8 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. 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. DataReader: It is a read-only and forward-only pointer into a table to retrieve records.

9 How to create an ADO.Net object? Using Data 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()

10 Data Form Wizard Creating a form with data-bound controls to display and update information in a dataset. Demo: Using Data Form Wizard to create a navigational form. –Project/Add Windows Form/Data Form Wizard –Set connection –Choose tables –Display records in grid or in text boxes.

11 Adapter & Dataset Context Menu Adapter: –Configure Adapter –Generate dataset –Preview data Dataset: –View Schema: Dataset/XML

12 Other Data Form Demos Connecting to a SQL Server database. Display records in text boxes. Add /Modify/Delete records. Hierarchical forms.

13 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

14 Using Tool Box’s Data Tab Creating a Connection, setting up a Data Adapter, and generating a dataset: –Drag OledbDataAdapter (or database’s table) to the form. –Use the Data Adapter Wizard to configure the Adapter. –Right Click the Adapter to preview data and creating dataset. Bind the dataset to controls.

15 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.

16 Creating Bound Controls DataGrid control: –Data Source property –Data Member property –In the Form Load event, use Adapter’s Fill method to load the dataset: OleDbDataAdapter1.Fill(DataSet11)

17 Binding Text Box Data Bindings property: –Text: choose field Add navigation buttons: –The current record position within the dataset is stored in a form’s BindingContext’s Position property. This position is zero based. Add one move to the next record, minus one move to the previous record.

18 MoveNext and MoveLast Example MoveNext: – Me.BindingContext(DataSet21, "customer").Position += 1 MoveLast: –Me.BindingContext(DataSet21, "customer").Position = Me.BindingContext(DataSet21, "customer").Count -1 How to MovePrevious and MoveFirst? Note: The Position property takes care of the end of file automatically.

19 CurrencyManager Dim custCurrMgr As CurrencyManager Dim ordCurrMgr As CurrencyManager In a procedure: –ordCurrMgr = Me.BindingContext(Ds31, "orders") –custCurrMgr = Me.BindingContext(Ds31, “customer") –custCurrMgr.Position += 1 –ordCurrMgr.Position += 1

20 Binding DataGrid From Server Explorer, drag the table from a database connection (or from Data tab, drag a oleDbAdapter) onto the form. Create dataset. Drag DataGrid and set the DataSource and Data Member property. Use adapter’s Fill method to load the dataset.

21 Displaying Many Tables with One DataGrid Define one Adapter for each table. Create the dataset with multiple tables. Add a DataGrid control and set the DataSource proeprty to the dataset name and leave the DataMember property blank.

22 Creating Hierarchical Data Grid Define two Adapters, one for the parent table and one for the child table. Create the dataset. Right-click the dataset to View Schema Right-click the parent table and choose Add/New Relation Add a DataGrid control and set the DataSource proeprty to the dataset.parentTable and leave the DataMember property blank.

23 Binding ListBox Example: Bind Customer Table’s CID field to a listbox. –Create a Adapter to retrieve CID (and Cname) fields, and generate the dataset. –Add ListBox and set binding properties: Data Source Data Member Value Member: the actual values for items in the list box. To display the selected item’s value in a text box, do: –Textbox1.text = ListBox1.SelectedValue Can we use TextBox1.text=ListBox1.SelectedItem? No!

24 ListBox SelectedItem Property How to display the selected record? After binding to a data source, this property return a DataRowView object. What is DataRowView? –Object Browser: System.Data –System.Data »DataRowView: Item property To retrieve a column from a DataRowView object (use 0-based index to identity a column): ListBox1.SelectedItem.Item(1) Or: ListBox1.SelectedItem(1) Or: ListBox1.SelectedItem(“Cname”)

25 Using Object Browser View/OtherWindows/Object Browser DataSet object model: –DataSet Relations Tables –Rows –Columns Use Object Browser to study object’s properties, methods.

26 Display Records in Unbound Text Boxes Use code to assign field value to the text box’s text property. Example: –Dim drFound As DataRow –drFound = DataSet11.CUSTOMER.Rows(0) Or DataSet11.Tables(“CUSTOMER”).Rows(0) –TextBox4.Text = drFound.Item("cname") Or drFound.Item(1) –Or: TextBox4.Text = DataSet11.CUSTOMER.Rows(0).Item(1) –Or: DataSet21.Tables.Item("customer").Rows.Item(0).Item(1)

27 Implement MoveNext Button with Unbound Control rowIndex += 1 If rowIndex < DataSet11.CUSTOMER.Rows.Count Then TextBox1.Text = DataSet11.Tables("customer").Rows(rowIndex).Item(0) TextBox2.Text = DataSet11.CUSTOMER.Rows(rowIndex).Item(1) Else MsgBox("out of bound") End If Note: MovePrevious, MoveLast, MoveFirst?

28 Using Object Browser to Study OleDB Object System.Data –System.Data.OleDB OleDBConnection –Methods: New(), New(ConnectionString), Open(), Close() –Properties: ConnectionString, DataBase, Provider, TimeOut OleDBCommannd –Methods: ExecuteReader, ExecuteNonQuery –Properties: Connection, CommandType, CommandText, Parameters OleDBDataAdapter –Methods: Fill –Properties: SelectCommand, InsertCommand, DeleteCommand, UpdateCommand.

29 Another Way to Bind Listbox and Display Selected Record Create an adapter to retrieve Customer records and create a dataset. Bind the CID field to the listbox. Use the Find method of Table’s Rows collection to find the record. Display the found record in unbound text boxes.

30 Code Example Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged Dim drFound As DataRow drFound = DataSet41.CUSTOMER.Rows.Find(ListBox1.SelectedValue) TextBox1.Text = drFound.Item("cname") TextBox2.Text = drFound.Item("rating") End Sub

31 Creating Parameter Query with Adapter Configuration Wizard Parameter query: Selection criteria is entered at run time. Example: Orders table: OID, CID, Odate, SalesPerson To create a parameter for the CID field: –In the Query Design window’s criteria column of the CID field, add criteria: =? To assign the parameter value: –OleDbDataAdapter2.SelectCommand.Parameters("cid").Value = Demo: Get CID from a InputBox and display orders.

32 Parameter Query Example: Select CID from a listBox and display orders of the selected CID in a DataGrid –Create and bind the listbox. –Create a second adapter and define a parameter query. –In the Query Design window’s criteria column, add criteria: =? –Generate the dataset (DataSet11 in this example) with the parameter. –Create and bind the DataGrid to the dataset. –In the listbox’s click event, assign the selected value to the parameter and fill the dataset: DataSet11.Clear() OleDbDataAdapter2.SelectCommand.Parameters("cid").Value = ListBox1.SelectedValue OleDbDataAdapter2.Fill(DataSet11)

33 Display Selected Record in Text Boxes with Parameter Query Create and bind the listbox. Create a second adapter and define a parameter query. –In the Query Design window’s criteria column, add criteria: =? Generate the dataset with the parameter. Create and bind textboxes to the dataset. In the listbox’s click event, assign the selected value to the parameter and fill the dataset: –DataSet11.Clear() –OleDbDataAdapter2.SelectCommand.Parameters("cid").Value = ListBox1.SelectedValue –OleDbDataAdapter2.Fill(DataSet11)

34 Send Changes in DataGrid Back to the Database Updating records in DataGrid: –New records are added at the end of the grid. –To delete a record, click the leftmost column to select the record, then press the delete key. –Modify record Add an Update button that use adapter’s update method to send changes back to the data source: –OledbDataAdapter1.Update(Dataset11)


Download ppt "VB.NET Database Access ISYS546. Microsoft Universal Data Access ODBC: Open Database Connectivity –A driver manager –Used for relational databases OLE."

Similar presentations


Ads by Google