![]() ![]() | ||
To create a dataset using a data adapter, you can use the Data|Generate Dataset menu item or right-click a data adapter and choose the Generate Dataset menu item. We did this in the EasyAccess example in the In Depth section of this chapter, as you can see in the Generate Dataset dialog in Figure 20.8. As shown in that figure, all you have to do is to select the table you want to add to the dataset, give it a name if you don't want to accept the default name that Visual Basic has given it, and click OK. Doing so creates a new DataSet object and adds it to the form under design.
Tip |
You also can add dataset objects to a form from the toolbox—just click the Data tab and use the DataSet tool. |
Although the EasyAccess example made creating a data connection, data adapter, and dataset look easy, there's really a great deal of code that's been added to our program. To see what this example looks like in code, here's Form1.vb from the EasyAccess example; it's worth taking a look at the various parts of this application:
Public Class Form1 Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code " Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call End Sub 'Form overrides dispose to clean up the component list. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub Friend WithEvents SqlSelectCommand1 As System.Data.SqlClient.SqlCommand Friend WithEvents SqlInsertCommand1 As System.Data.SqlClient.SqlCommand Friend WithEvents SqlUpdateCommand1 As System.Data.SqlClient.SqlCommand Friend WithEvents SqlDeleteCommand1 As System.Data.SqlClient.SqlCommand Friend WithEvents SqlConnection1 As System.Data.SqlClient.SqlConnection Friend WithEvents SqlDataAdapter1 As _ System.Data.SqlClient.SqlDataAdapter Friend WithEvents DataSet11 As EasyAccess.DataSet1 Friend WithEvents DataGrid1 As System.Windows.Forms.DataGrid 'Required by the Windows Form Designer Private components As System.ComponentModel.Container 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. <System.Diagnostics.DebuggerStepThrough()> Private Sub _ InitializeComponent() Me.SqlDataAdapter1 = New System.Data.SqlClient.SqlDataAdapter() Me.SqlDeleteCommand1 = New System.Data.SqlClient.SqlCommand() Me.SqlConnection1 = New System.Data.SqlClient.SqlConnection() Me.SqlInsertCommand1 = New System.Data.SqlClient.SqlCommand() Me.SqlSelectCommand1 = New System.Data.SqlClient.SqlCommand() Me.SqlUpdateCommand1 = New System.Data.SqlClient.SqlCommand() Me.DataSet11 = New EasyAccess.DataSet1() Me.DataGrid1 = New System.Windows.Forms.DataGrid() CType(Me.DataSet11, _ System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.DataGrid1, _ System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' 'SqlDataAdapter1 ' Me.SqlDataAdapter1.DeleteCommand = Me.SqlDeleteCommand1 Me.SqlDataAdapter1.InsertCommand = Me.SqlInsertCommand1 Me.SqlDataAdapter1.SelectCommand = Me.SqlSelectCommand1 Me.SqlDataAdapter1.TableMappings.AddRange(New _ System.Data.Common.DataTableMapping() {New _ System.Data.Common.DataTableMapping("Table", "authors", New _ System.Data.Common.DataColumnMapping() {New _ System.Data.Common.DataColumnMapping("au_id", "au_id"), New _ System.Data.Common.DataColumnMapping("au_lname", "au_lname"), _ New System.Data.Common.DataColumnMapping("au_fname", _ "au_fname"), New System.Data.Common.DataColumnMapping( "phone", "phone"), New _ System.Data.Common.DataColumnMapping("address", _ "address"), New System.Data.Common.DataColumnMapping("city", _ "city"), New System.Data.Common.DataColumnMapping("state", _ "state"), New System.Data.Common.DataColumnMapping("zip", _ "zip"), New System.Data.Common.DataColumnMapping("contract", _ "contract")})}) Me.SqlDataAdapter1.UpdateCommand = Me.SqlUpdateCommand1 ' 'SqlDeleteCommand1 ' Me.SqlDeleteCommand1.CommandText = "DELETE FROM authors WHERE " & _ "(au_id = @au_id) AND (address = @address OR @address1 I" & _ "S NULL AND address IS NULL) AND (au_fname = @au_fname) AND " & _ "(au_lname = @au_lname) AND (city = @city OR @city1 IS NULL " & _ "AND city IS NULL) AND (contract = @contract) AND " & _ "(phone = @phone) AND (state = @state OR @state1 IS NULL AND " & _ "state IS NULL) AND (zip = @zip OR @zip1 IS NULL AND zip IS NULL)" Me.SqlDeleteCommand1.Connection = Me.SqlConnection1 Me.SqlDeleteCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@au_id", _ System.Data.SqlDbType.Char, 11, _ System.Data.ParameterDirection.Input, False, CType(0, Byte), _ CType(0, Byte), "au_id", System.Data.DataRowVersion.Original, _ Nothing)) Me.SqlDeleteCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@address", _ System.Data.SqlDbType.VarChar, 40, _ System.Data.ParameterDirection.Input, True, CType(0, Byte), _ CType(0, Byte), "address", _ System.Data.DataRowVersion.Original, Nothing)) Me.SqlDeleteCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@address1", _ System.Data.SqlDbType.VarChar, 40, _ System.Data.ParameterDirection.Input, True, CType(0, Byte), _ CType(0, Byte), "address", _ System.Data.DataRowVersion.Original, Nothing)) Me.SqlDeleteCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@au_fname", _ System.Data.SqlDbType.VarChar, 20, _ System.Data.ParameterDirection.Input, False, _ CType(0, Byte), CType(0, Byte), "au_fname", _ System.Data.DataRowVersion.Original, Nothing)) Me.SqlDeleteCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@au_lname", _ System.Data.SqlDbType.VarChar, 40, _ System.Data.ParameterDirection.Input, False, CType(0, Byte), _ CType(0, Byte), "au_lname", _ System.Data.DataRowVersion.Original, Nothing)) Me.SqlDeleteCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@city", _ System.Data.SqlDbType.VarChar, 20, _ System.Data.ParameterDirection.Input, True, CType(0, Byte), _ CType(0, Byte), "city", System.Data.DataRowVersion.Original, _ Nothing)) Me.SqlDeleteCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@city1", _ System.Data.SqlDbType.VarChar, 20, _ System.Data.ParameterDirection.Input, True, CType(0, Byte), _ CType(0, Byte), "city", System.Data.DataRowVersion.Original, _ Nothing)) Me.SqlDeleteCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@contract", _ System.Data.SqlDbType.Bit, 1, _ System.Data.ParameterDirection.Input, False, CType(0, Byte), _ CType(0, Byte), "contract", _ System.Data.DataRowVersion.Original, Nothing)) Me.SqlDeleteCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@phone", _ System.Data.SqlDbType.Char, 12, _ System.Data.ParameterDirection.Input, False, CType(0, Byte), _ CType(0, Byte), "phone", System.Data.DataRowVersion.Original, _ Nothing)) Me.SqlDeleteCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@state", _ System.Data.SqlDbType.Char, 2, _ System.Data.ParameterDirection.Input, True, CType(0, Byte), _ CType(0, Byte), "state", _ System.Data.DataRowVersion.Original, Nothing)) Me.SqlDeleteCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@state1", _ System.Data.SqlDbType.Char, 2, _ System.Data.ParameterDirection.Input, True, CType(0, Byte), _ CType(0, Byte), "state", _ System.Data.DataRowVersion.Original, Nothing)) Me.SqlDeleteCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@zip", _ System.Data.SqlDbType.Char, 5, _ System.Data.ParameterDirection.Input, True, CType(0, Byte), _ CType(0, Byte), "zip", System.Data.DataRowVersion.Original, _ Nothing)) Me.SqlDeleteCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@zip1", _ System.Data.SqlDbType.Char, 5, _ System.Data.ParameterDirection.Input, True, CType(0, Byte), _ CType(0, Byte), "zip", System.Data.DataRowVersion.Original, _ Nothing)) ' 'SqlConnection1 ' Me.SqlConnection1.ConnectionString = "data source=(local);initial " & _ "catalog=pubs;integrated security=SSPI;persist securit" & _ "y info=False;workstation id=STEVE;packet size=4096" ' 'SqlInsertCommand1 ' Me.SqlInsertCommand1.CommandText = "INSERT INTO authors(au_id, " &_ au_lname, au_fname, phone, address, city, state, zip, " & _ "contract) VALUES (@au_id, @au_lname, @au_fname, @phone, " & _ "@address, @city, @state," & _ " @zip, @contract); SELECT au_id, au_lname, au_fname, " & _ "phone, address, city, state" & _ ", zip, contract FROM authors WHERE (au_id = @Select_au_id)" & _ Me.SqlInsertCommand1.Connection = Me.SqlConnection1 Me.SqlInsertCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@au_id", _ System.Data.SqlDbType.Char, 11, _ System.Data.ParameterDirection.Input, False, CType(0, Byte), _ CType(0, Byte), "au_id", System.Data.DataRowVersion.Current, _ Nothing)) Me.SqlInsertCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@au_lname", _ System.Data.SqlDbType.VarChar, 40, _ System.Data.ParameterDirection.Input, False, CType(0, Byte), _ CType(0, Byte), "au_lname", _ System.Data.DataRowVersion.Current, Nothing)) Me.SqlInsertCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@au_fname", _ System.Data.SqlDbType.VarChar, 20, _ System.Data.ParameterDirection.Input, False, CType(0, Byte), _ CType(0, Byte), "au_fname", _ System.Data.DataRowVersion.Current, Nothing)) Me.SqlInsertCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@phone", _ System.Data.SqlDbType.Char, 12, _ System.Data.ParameterDirection.Input, False, CType(0, Byte), _ CType(0, Byte), "phone", System.Data.DataRowVersion.Current, _ Nothing)) Me.SqlInsertCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@address", _ System.Data.SqlDbType.VarChar, 40, _ System.Data.ParameterDirection.Input, True, CType(0, Byte), _ CType(0, Byte), "address", _ System.Data.DataRowVersion.Current, Nothing)) Me.SqlInsertCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@city", _ System.Data.SqlDbType.VarChar, 20, _ System.Data.ParameterDirection.Input, True, CType(0, Byte), _ CType(0, Byte), "city", System.Data.DataRowVersion.Current, _ Nothing)) Me.SqlInsertCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@state", _ System.Data.SqlDbType.Char, 2, _ System.Data.ParameterDirection.Input, True, CType(0, Byte), _ CType(0, Byte), "state", _ System.Data.DataRowVersion.Current, Nothing)) Me.SqlInsertCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@zip", _ System.Data.SqlDbType.Char, 5, _ System.Data.ParameterDirection.Input, True, CType(0, Byte), _ CType(0, Byte), "zip", System.Data.DataRowVersion.Current, _ Nothing)) Me.SqlInsertCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@contract", _ System.Data.SqlDbType.Bit, 1, _ System.Data.ParameterDirection.Input, False, _ CType(0, Byte), CType(0, Byte), "contract", _ System.Data.DataRowVersion.Current, Nothing)) Me.SqlInsertCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@Select_au_id", _ System.Data.SqlDbType.Char, 11, _ System.Data.ParameterDirection.Input, False, CType(0, Byte), _ CType(0, Byte), "au_id", System.Data.DataRowVersion.Current, _ Nothing)) ' 'SqlSelectCommand1 ' Me.SqlSelectCommand1.CommandText = "SELECT au_id, au_lname, _ au_fname, phone, address, city, state, zip, contract FROM" & _ " authors" Me.SqlSelectCommand1.Connection = Me.SqlConnection1 ' 'SqlUpdateCommand1 ' Me.SqlUpdateCommand1.CommandText = "UPDATE authors SET au_id = " & _ "@au_id, au_lname = @au_lname, au_fname = @au_fname, ph" & _ "one = @phone, address = @address, city = @city, state = " & _ "@state, zip = @zip, cont" & _ "ract = @contract WHERE (au_id = @Original_au_id) AND " & _ "(address = @Original_addres" & _ "s OR @Original_address1 IS NULL AND address IS NULL) AND " & _ "(au_fname = @Original_a" & _ "u_fname) AND (au_lname = @Original_au_lname) AND (city = " & _ "@Original_city OR @Orig" & _ "inal_city1 IS NULL AND city IS NULL) AND (contract = " &_ "@Original_contract) AND (ph" & _ "one = @Original_phone) AND (state = @Original_state OR " & _ "@Original_state1 IS NULL " & _ "AND state IS NULL) AND (zip = @Original_zip " & _ "OR @Original_zip1 " & _ " NULL); SELECT au_id, au_lname, au_fname, phone, address, " & _ "city, state, zip, cont" & _ "ract FROM authors WHERE (au_id = @Select_au_id)" Me.SqlUpdateCommand1.Connection = Me.SqlConnection1 Me.SqlUpdateCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@au_id", _ System.Data.SqlDbType.Char, 11, _ System.Data.ParameterDirection.Input, False, CType(0, Byte), _ CType(0, Byte), "au_id", System.Data.DataRowVersion.Current, _ Nothing)) Me.SqlUpdateCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@au_lname", _ System.Data.SqlDbType.VarChar, 40, _ System.Data.ParameterDirection.Input, False, CType(0, Byte), _ CType(0, Byte), "au_lname", _ System.Data.DataRowVersion.Current, Nothing)) Me.SqlUpdateCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@au_fname", _ System.Data.SqlDbType.VarChar, 20, _ System.Data.ParameterDirection.Input, False, CType(0, Byte), _ CType(0, Byte), "au_fname", _ System.Data.DataRowVersion.Current, Nothing)) Me.SqlUpdateCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@phone", _ System.Data.SqlDbType.Char, 12, _ System.Data.ParameterDirection.Input, False, CType(0, Byte), _ CType(0, Byte), "phone", System.Data.DataRowVersion.Current, _ Nothing)) Me.SqlUpdateCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@address", _ System.Data.SqlDbType.VarChar, 40, _ System.Data.ParameterDirection.Input, True, CType(0, Byte), _ CType(0, Byte), "address", _ System.Data.DataRowVersion.Current, Nothing)) Me.SqlUpdateCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@city", _ System.Data.SqlDbType.VarChar, 20, _ System.Data.ParameterDirection.Input, True, CType(0, Byte), _ CType(0, Byte), "city", System.Data.DataRowVersion.Current, _ Nothing)) Me.SqlUpdateCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@state", _ System.Data.SqlDbType.Char, 2, _ System.Data.ParameterDirection.Input, True, CType(0, Byte), _ CType(0, Byte), "state", System.Data.DataRowVersion.Current, _ Nothing)) Me.SqlUpdateCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@zip", _ System.Data.SqlDbType.Char, 5, _ System.Data.ParameterDirection.Input, True, CType(0, Byte), _ CType(0, Byte), "zip", System.Data.DataRowVersion.Current, _ Nothing)) Me.SqlUpdateCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@contract", _ System.Data.SqlDbType.Bit, 1, _ System.Data.ParameterDirection.Input, False, CType(0, Byte), _ CType(0, Byte), "contract", _ System.Data.DataRowVersion.Current, Nothing)) Me.SqlUpdateCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@Original_au_id", _ System.Data.SqlDbType.Char, 11, _ System.Data.ParameterDirection.Input, False, CType(0, Byte), _ CType(0, Byte), "au_id", System.Data.DataRowVersion.Original, _ Nothing)) Me.SqlUpdateCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@Original_address", _ System.Data.SqlDbType.VarChar, 40, _ System.Data.ParameterDirection.Input, True, CType(0, Byte), _ CType(0, Byte), "address", _ System.Data.DataRowVersion.Original, Nothing)) Me.SqlUpdateCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@Original_address1", _ System.Data.SqlDbType.VarChar, 40, _ System.Data.ParameterDirection.Input, True, CType(0, Byte), _ CType(0, Byte), "address", _ System.Data.DataRowVersion.Original, Nothing)) Me.SqlUpdateCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@Original_au_fname", _ System.Data.SqlDbType.VarChar, 20, _ System.Data.ParameterDirection.Input, False, CType(0, Byte), _ CType(0, Byte), "au_fname", _ System.Data.DataRowVersion.Original, Nothing)) Me.SqlUpdateCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@Original_au_lname", _ System.Data.SqlDbType.VarChar, 40, _ System.Data.ParameterDirection.Input, False, CType(0, Byte), _ CType(0, Byte), "au_lname", _ System.Data.DataRowVersion.Original, Nothing)) Me.SqlUpdateCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@Original_city", _ System.Data.SqlDbType.VarChar, 20, _ System.Data.ParameterDirection.Input, True, CType(0, Byte), _ CType(0, Byte), "city", _ System.Data.DataRowVersion.Original, Nothing)) Me.SqlUpdateCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@Original_city1", _ System.Data.SqlDbType.VarChar, 20, _ System.Data.ParameterDirection.Input, True, CType(0, Byte), _ CType(0, Byte), "city", _ System.Data.DataRowVersion.Original, Nothing)) Me.SqlUpdateCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@Original_contract", _ System.Data.SqlDbType.Bit, 1, _ System.Data.ParameterDirection.Input, False, _ CType(0, Byte), CType(0, Byte), "contract", _ System.Data.DataRowVersion.Original, Nothing)) Me.SqlUpdateCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@Original_phone", _ System.Data.SqlDbType.Char, 12, _ System.Data.ParameterDirection.Input, False, CType(0, Byte), _ CType(0, Byte), "phone", _ System.Data.DataRowVersion.Original, Nothing)) Me.SqlUpdateCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@Original_state", _ System.Data.SqlDbType.Char, 2, _ System.Data.ParameterDirection.Input,True,CType(0,Byte),_ CType(0,Byte),"state",_ System.Data.DataRowVersion.Original,Nothing)) Me.SqlUpdateCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@Original_state1",_ System.Data.SqlDbType.Char,2,_ System.Data.ParameterDirection.Input,True,CType(0,Byte),_ CType(0,Byte),"state",_ System.Data.DataRowVersion.Original,Nothing)) Me.SqlUpdateCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@Original_zip",_ System.Data.SqlDbType.Char,5,_ System.Data.ParameterDirection.Input,True,CType(0,Byte),_ CType(0,Byte),"zip",_ System.Data.DataRowVersion.Original,Nothing)) Me.SqlUpdateCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@Original_zip1",_ System.Data.SqlDbType.Char,5,_ System.Data.ParameterDirection.Input,True,_ CType(0,Byte),CType(0,Byte),"zip",_ System.Data.DataRowVersion.Original,Nothing)) Me.SqlUpdateCommand1.Parameters.Add(New _ System.Data.SqlClient.SqlParameter("@Select_au_id",_ System.Data.SqlDbType.Char,11,_ System.Data.ParameterDirection.Input,False,CType(0,Byte),_ CType(0,Byte),"au_id",_ System.Data.DataRowVersion.Current,Nothing)) ' 'DataSet11 ' Me.DataSet11.DataSetName ="DataSet1" Me.DataSet11.Locale =New System.Globalization.CultureInfo("en-US") Me.DataSet11.Namespace ="http://www.tempuri.org/DataSet1.xsd" ' 'DataGrid1 ' Me.DataGrid1.DataMember ="authors" Me.DataGrid1.DataSource =Me.DataSet11 Me.DataGrid1.Location =New System.Drawing.Point(8,16) Me.DataGrid1.Name ="DataGrid1" Me.DataGrid1.Size = New System.Drawing.Size(272,240) Me.DataGrid1.TabIndex =0 ' 'Form1 ' Me.AutoScaleBaseSize = New System.Drawing.Size(5,13) Me.ClientSize = New System.Drawing.Size(292,273) Me.Controls.AddRange(New System.Windows.Forms.Control() _ {Me.DataGrid1}) Me.Name = "Form1" Me.Text = "Form1" CType(Me.DataSet11, _ System.ComponentModel.ISupportInitialize).EndInit() CType(Me.DataGrid1, _ System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) End Sub #End Region Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load DataSet11.Clear() SqlDataAdapter1.Fill(DataSet11) End Sub End Class
Related solution: |
Found on page: |
---|---|
956 |
![]() ![]() | ||