Cara membuat dan menggunakan DataSet diketik menggunakan Visual Basic .NET atau Visual Basic 2005

Artikel ini merujuk ke Microsoft .NET Framework perpustakaan kelas namespace yang berikut ini:

  • System.Data.SqlClient

Ringkasan

Artikel ini menunjukkan cara membuat dan menggunakan diketik DataSet di aplikasi Web kecil. Ketik dataset, yang mewarisi dari kelas DataSet , membuat kelas anggota DataSet DataTables dan DataColumns, menghasilkan keuntungan yang dilengkapi dengan penggunaan mengetik kuat.

Persyaratan

Item berikut ini menjelaskan perangkat keras yang disarankan, perangkat lunak, jaringan infrastruktur, keterampilan dan pengetahuan, dan paket layanan yang diperlukan untuk menyelesaikan langkah-langkah berikut:

  • Microsoft SQL Server 6.5 (atau yang lebih baru) dengan Northwind database

Artikel ini mengasumsikan bahwa Anda sudah terbiasa dengan topik berikut ini:

  • Microsoft SQL Server
  • Microsoft Visual Studio .NET atau Microsoft Visual Studio 2005
  • Microsoft ADO.NET
  • Kontrol Web Microsoft .NET

Dataset diketik

Ikuti langkah-langkah untuk membuat aplikasi Web kecil dengan menggunakan Visual Studio .NET atau Visual Studio 2005. Aplikasi Web menggunakan diketik DataSet untuk menampilkan hasil query SQL improvisasi dalam Northwind database.

  1. Mulai Visual Studio .NET atau Visual Studio 2005.
  2. Membuat proyek aplikasi Web baru yang bernama
    TDS dalam Visual Basic .NET.Catatan Dalam Visual Studio 2005 membuat situs Web yang baru.
  3. Pastikan bahwa solusi Explorer ditampilkan. Jika solusi Explorer tidak ditampilkan, tekan CTRL + ALT + L.
  4. Pastikan bahwa berkas WebForm1.aspx terbuka di jendela Penyunting. Jika berkas tidak terbuka, klik dua kali WebForm1.aspx di Explorer solusi untuk membuka berkas.Catatan Dalam Visual Studio 2005, klik dua kali Default.aspx.
  5. Pada jendela Editor, klik desain untuk beralih ke tampilan desain .
  6. Untuk membuka toolbox, tekan CTRL + ALT + X. Pada toolbox, klik Formulir Web. Pilih dan seret berikut ini ke sudut kiri atas halaman: dua baris setiap label yang diikuti dengan kotak teks (diletakkan di sebelah kanan tiap label). Di bawah ini, tambahkan DataGrid dengan cara yang sama.
  7. Klik label teratas. Tekan F4 untuk menampilkan jendela properti. Mengubah properti teks
    Produk. Klik label lain, dan kemudian ganti dengan
    Properti teks untuk kategori.
  8. Untuk menambah baru DataSet proyek, tekan CTRL + SHIFT + A, dan kemudian klik set data dalam daftar pola dasar. Nama DataSet berikut ini: dsProducts.xsd. Perhatikan bahwa berkas adalah benar-benar skema XML. Klik Oke. Sekarang Anda melihat halaman kuning pucat di jendela Penyunting.
  9. Untuk membuat diketik DataSet, tekan CTRL + ALT + S untuk membuka Server Explorer.
  10. Klik server, klik nama komputer, klik SQLServers, klik nama server, klik Northwind, dan kemudian klik tampilan.
  11. Pilih tampilan Northwind SQL Server abjad daftar produk, dan kemudian seret tampilan halaman DataSetkuning pucat. Kode visual yang mewakili rangkaian hasil yang dihasilkan oleh tampilan akan ditampilkan di halaman tersebut. Untuk melihat XML aktual skema berkas, klik tombol XML pada jendela Editor.
  12. Ada skema yang didasarkan pada objek SQL Server sekarang. Untuk membuat dan mengisi diketik DataSet, pertama Anda harus membuat kelas yang peta pada skema. Klik kanan tampilan desain , dan kemudian pastikan bahwa opsi Membuat set data dipilih. Jika tidak dipilih, pilih. Tekan CTRL + S untuk menyimpan skema dan menghasilkan kelas.
  13. Untuk melihat kelas DataSet diketik baru, klik Tampilkan semua berkas di Explorer solusi.
  14. Luaskan pohon di dsProducts.xsd. Anda melihat file dsProducts.vb, yang berisi pemetaan kelas baru pada skema. Anda melihat file dsProducts.xsx, yang digunakan untuk melacak perubahan ke berkas.
  15. Untuk menulis kode untuk menampilkan diketik DataSet, klik dua kali secara langsung pada formulir Web (bukan pada kontrol Web). Formulir Web codebehind muncul, dan titik penyisipan berada di dalam Page_Load peristiwa.
  16. Untuk menyertakan kelas yang terletak di ruang nama System.Data.SqlClient, tambahkan impor pernyataan berikut ini di bagian atas codebehind:
    Imports System.Data.SqlClient
    

    Catatan Ruang-nama lain yang Anda butuhkan untuk aplikasi Web kecil ini secara otomatis dirujuk dalam proyek saat Anda membuat aplikasi Web pada Visual Studio .NET.

  17. Prosedur kejadian Page_Load , buat objek sambungan dengan melewati rangkaian sambungan ke konstruktor kelas SqlConnection default:
    Dim cn As SqlConnection = New SqlConnection("[YourConnectionString]")
    
  18. Buat objek SqlCommand yang kemudian disampaikan ke objek SqlDataAdapter. Melewati pernyataan SQL improvisasi dan objek sambungan baru ke konstruktor SqlCommand. Bekas menetapkan properti CommandText objek SqlCommand baru. Anda juga dapat melewati nama prosedur yang disimpan.
    Dim cmd As SqlCommand = New SqlCommand("Select * from [Alphabetical list of products]", cn)
    
  19. Membuat contoh objek SqlDataAdapter, sebagai objek SqlCommand baru ke konstruktor:
    Dim da As SqlDataAdapter = New SqlDataAdapter(cmd)
    
  20. Sekarang Anda membuat objek yang diperlukan untuk menyambung ke pangkalan data dan mengembalikan data. Berikut adalah kode untuk diketik DataSet. Perhatikan bahwa contoh kelas dsProducts dibuat: kelas yang peta dsProducts skema dan mewarisi dari kelas DataSet , bukan generik DataSet kelas itu sendiri.
    Dim tds As dsProducts = New dsProducts()
    
  21. Memanggil metode isi SqlDataAdapter, melewati dalam objek DataSet diketik dan DataSetdiketik DataTable NamaTabel properti:
    da.Fill(tds, tds.Tables(0).TableName)
    
  22. Untuk menetapkan properti teks kontrol kotak teks ke kolom sangat diketik di diketik DataSetdari DataTable, gunakan format berikut ini:
    dsProducts.DataTableName(RowIndex).ColumnName
    

    Aplikasi contoh ini, RowIndex keras-kode 5:

    TextBox1.Text = tds.Alphabetical_list_of_products(5).ProductNameTextBox2.Text = tds.Alphabetical_list_of_products(5).CategoryName
    
    

    Karena koleksi baris berbasis-nol, setelah halaman dimuat, perhatikan bahwa kontrol kotak teks menampilkan nama produk dan kategori item di baris keenam DataGrid.

  23. Untuk menampilkan semua hasil di DataGrid, tetapkan properti DataSource DataGrid untuk diketik baru DataSet, dan panggilan DataBind():
    DataGrid1.DataSource = tdsDataGrid1.DataBind()
    
    

Daftar lengkap kode (WebForm1.aspx)

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="howto_tds.WebForm1"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<meta content="Microsoft Visual Studio.NET 7.0" name=GENERATOR>
<meta content="Visual Basic 7.0" name=CODE_LANGUAGE>
<meta content=JavaScript name=vs_defaultClientScript>
<meta content=http://schemas.microsoft.com/intellisense/ie5 name=vs_targetSchema>
</HEAD>
<body ms_positioning="GridLayout">
<form id=Form1 method=post runat="server">
<P>
<asp:label id=Label1 runat="server">Product</asp:label>
<asp:textbox id=TextBox1 runat="server"></asp:textbox>
<asp:label id=Label2 runat="server">Category</asp:label>
<asp:textbox id=TextBox2 runat="server"></asp:textbox>
</P>
<P><asp:datagrid id=DataGrid1 runat="server"></asp:datagrid></P>
</form>
</body>
</HTML>

Daftar lengkap kode (WebForm1.aspx.vb)

Imports System.Data.SqlClient
Public Class WebForm1
//Note in Visual Studio 2005, "Public Class WebForm1" should be changed to "Partial Class _Default"
    Inherits System.Web.UI.Page
    Protected WithEvents Label1 As System.Web.UI.WebControls.Label
    Protected WithEvents Label2 As System.Web.UI.WebControls.Label
    Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox
    Protected WithEvents TextBox2 As System.Web.UI.WebControls.TextBox
    Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim cn As System.Data.SqlClient.SqlConnection = _
    New System.Data.SqlClient.SqlConnection( _
    "server=C-176012-C\NetSDK;uid=sa;password=;database=Northwind")
        Dim cmd As System.Data.SqlClient.SqlCommand = _
    New System.Data.SqlClient.SqlCommand( _
    "Select * from [Alphabetical list of products]", cn)
        Dim da As System.Data.SqlClient.SqlDataAdapter = New System.Data.SqlClient.SqlDataAdapter(cmd)

        Dim tds As dsProducts = New dsProducts()
        da.Fill(tds, tds.Tables(0).TableName)

        TextBox1.Text = tds.Alphabetical_list_of_products(5).ProductName
        TextBox2.Text = tds.Alphabetical_list_of_products(5).CategoryName

        DataGrid1.DataSource = tds
        DataGrid1.DataBind()

    End Sub

#Region " Web Form Designer Generated Code "

    'This call is required by the Web Form Designer.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

    End Sub

    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        'CODEGEN: This method call is required by the Web Form Designer.
        'Do not modify it using the code editor.
        InitializeComponent()
    End Sub

#End Region

End Class

Catatan Dalam Visual Studio 2005 temukan kode berikut:

Public Class WebForm1

Ganti dengan berikut ini:

Partial Class _Default

Verifikasi

Tekan F5 untuk menjalankan aplikasi Web. Penjelajah menampilkan “Paman Bob organik kering pir” di kotak teks produk dan “Menghasilkan” di kotak teks kategori . DataGrid diisi dengan informasi produk akan ditampilkan di kotak teks.

Pemecahan masalah

  • Generik dataset tidak memerlukan melewati NamaTabel ketika Anda memanggil metode isi . Ketik dataset, namun, memerlukan ini, bahkan jika Anda mengakses DataSet tabel koleksi oleh indeks bukannya NamaTabel. Kegagalan untuk menyampaikan diketik DataSetdari NamaTabel mengeliminasi galat “Ada baris tidak ada di posisi 0” saat runtime. Persyaratan ini diketik dataset juga berarti bahwa Anda tidak dapat membuat Anda sendiri NamaTabel namun Anda harus melewati yang dirujuk dalam kelas DataSet diketik, yang diakses seperti kode sebelumnya.
  • Manual perubahan yang Anda buat skema yang dibuat dengan Visual Studio .NET atau Visual Studio 2005 ditimpa jika Anda mengubah objek pangkalan data yang Anda digunakan pada awalnya untuk menghasilkan skema dan mengetik DataSet kelas dan seret kembali ke tampilan desain skema. Biasanya lebih baik untuk membuat perubahan yang Anda butuhkan di tingkat SQL Server dan menghasilkan diketik baru DataSetdaripada mengubah skema hasil.

 

sumber : microsoft

Share This:Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInPin on Pinterest

Leave a Reply

Your email address will not be published. Required fields are marked *