DataTable класс (Visual Basic .NET)

DataTable класс

DataTable класс нь єгєгдлийн баазын хvснэгттэй тєстэй .NET-ийн класс юм. Энэ нь мєрvvдээс тогтох ба мєр болгонд баганы олонлог багтсан байдаг. Багана болгон нэртэй байх ба мєн єгєгдлийн тєрєл, аттрибут (жишээ нь ReadOnly –зєвхєн уншигдах), DefaultValue-тай байна.
DataTable класс нь DataRow oбъектуудаас тогтох ба DataRow объект болгон нь DataColumn объекуудаас бvрддэг.

DataTable-ийг хэрэглэх нь

DataTable нь олон тооны мєртэй мєр болгон нь олон утга агуулах тийм єгєгдлийг хадгалах, боловсруулах vед хэрэглэгдэнэ. Та DataTable-ээс єєр єгєгдєлтэй харьцах механизм (user-defined массив, классын collection, ADO Recordset) хэрэглэж болох боловч DataTable хэрэглэхэд илvv хялбар байдаг.

DataTable vvсгэх

Юуны ємнє DataTable тєрлийн хувьсагчийг глобалаар (бvх процедуруудаас гадна) зарлах хэрэгтэй.

   Public Class frmProductsSimple
        Inherits System.Windows.Forms.Form

   Private mdt As DataTable
Одоо DataTable-ийг хэрхэн єгєгдлєєр дvvргэх талаар жишээ vзье.
   Private Sub btnLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
   Handles btnLOad.Click
       Dim dr As DataRow
       Dim intLoop As Integer

       Me.Cursor = Cursors.WaitCursor

       ' Шинэ DataTable объект vvсгэх
       mdt = New DataTable()

       ' DataTable-д баганууд vvсгэх
       mdt.Columns.Add("ProductID")
       mdt.Columns.Add("ProductName")
       mdt.Columns.Add("UnitPrice")
       mdt.Columns.Add("UnitsInStock")

       ' DataTable–г єгєгдлєєр дvvргэх
       For intLoop = 1 To 10
           ' Шинэ мєр vvсгэх
           dr = mdt.NewRow

           ' Шинэ мєрийн багануудад єгєгдєл нэмэх
           dr("ProductID") = intLoop
           dr("ProductName") = "Product " & intLoop.ToString()
           dr("UnitPrice") = intLoop * 10
           dr("UnitsInStock") = intLoop * 20

           ' Шинэ мєрийг DataTable-рvv нэмэх
           mdt.Rows.Add(dr)
       Next

       ' Grid-ийн багануудыг AutoSize хийх
       grdProducts.PreferredColumnWidth = grdProducts.AutoColumnSize
       ' Grid-ийг єгєгдлєєр дvvргэх
       grdProducts.DataSource = mdt

       Me.Cursor = Cursors.Default
   End Sub
Та дээрх процедурыг ашигласнаар бvтээгдэхvvнтэй холбоотой єгєгдлийг загвар байдлаар vvсгэх болно. 10-н удаа давталт хийх ба давталт болгонд шинэ DataRow объект vvсэх болно. DataRow объект нь DataTable-д тодорхойлсон багануудын тодорхойлолтуудтай хамт байгуулагддаг. DataRow-д буй багануудын нэг болох ProductID багана руу давталтын тоологч (intLoop)-ийг, “Product 1”, “Product 2”, гм-ийг ProductName багана руу гэх мэтээр дvvргэлээ. Эцэст нь DataTable-ийн Rows collection-ний Add method-оор DataRow oбъектыг DataTable рvv нэмсэн байна.

DataRow-тэй ажиллах

Grid-ийг єгєгдлєєр дvvргэсний дараа нэг мєр сонгож єгєгдлєє дэлгэцэнд vзvvлэх хэрэгцээ гардаг. vvнийг хийхийн тулд та хэрэглэгчийн товшилт (click) хийсэн мєрийн дугаарыг мэдсэн байх хэрэгтэй. Хэрэв та мєрийн дугаараа мэдэж байгаа тохиолдолд DataTable-ийн Rows collection-ийг ашиглах тухайн мєрийг DataRow-рvv дамжуулж чадна.

Private Sub grdProducts_Click(ByVal sender As Object, _
 ByVal e As System.EventArgs) Handles grdProducts.Click
    Dim dr As DataRow
    Dim intRow As Integer

    ' Идэвхтэй мєрийн дугаар авах
    intRow = grdProducts.CurrentCell.RowNumber
    ' DataRow-ийг DataTable-ээс авах
    dr = mdt.Rows(intRow)

   ‘TextBox контролуудыг єгєгдлєєр дvvргэх
    txtProductID.Text = dr("ProductID")
    txtProductName.Text = dr("ProductName")
    txtUnitPrice.Text = dr("UnitPrice")
    txtUnitsInStock.Text = dr("UnitsInStock")
End Sub

 

VB .NET-ийн шинэлэг зvйлс | дээшээ | ADO.NET-н бүтэц, хэрэглэх
нvvр хуудас