Friday, November 4, 2016

VB.net Datatable รวมการใช้งาน

      Dim tb As New DataTable
        With tb
            .Columns.Add("Matno")
            .Columns.Add("MC")
            .Columns.Add("Qty")
        End With
        Dim dr As DataRow
        dr = tb.NewRow
        dr(0) = "A001"
        dr(1) = "MC2"
        dr(2) = "120"
        tb.Rows.Add(dr)

สามารถเขียนได้อีกวิธีในการเพิ่มแถว ลักษณะนี้จะช่วยให้จำนวนบรรทัดลดลง
และเราไม่จำเป็นต้องประกาศตัวแปร Dim row As DataRow เหมือนตัวอย่างการเพิ่มข้อมูลก่อนหน้านี้


dt.Rows.Add(New Object() {"A001", "MC2", 120.00})

'-----------------------------

---set primary key

Dim table As New DataTable()

table.Columns.Add(New DataColumn("MyColumn"))


Dim primaryKey(1) As DataColumn
primaryKey(0) = table.Columns("MyColumn")
table.PrimaryKey = primaryKey


----------------

update multiple data

tb202I.Select("mcat = '" & pono & "'").ToList().ForEach(Sub(drow) drow("mordno") = vord)

---------------------


get value from datatable
Dim rows() As DataRow = dtshippoint2.Select("mvalue = '" & xshippoint & "'")
If rows.Count > 0 Then
xlocation = rows(0).Item("mlocation")
End If

--------------------------------------


Dim foundRow As DataRow() = dtChange.Select("myid = '" & mynewid & "'")
If foundRow.Length > 0 Then
foundRow(0).Delete()
        End If

---------------------------
'Remove Colume
dt2.Columns.Remove("billid")

dt2.AcceptChanges()

'----------------------

'Import Text file to Datatable

Dim tb As New DataTable

With tb

.Columns.Add("TrackingNo", GetType(String))

'.Columns.Add("Shorttext", GetType(String))

'.Columns.Add("qty", GetType(Double))

End With

Dim sFilename As String = FTPTextFilePath & filename

Dim myStream As System.IO.StreamReader = New System.IO.StreamReader(sFilename)

Dim line As String

Dim aRow As DataRow

Do

line = myStream.ReadLine()

If line Is Nothing Then

Exit Do

End If

Dim sAry As String() = Split(line, "|")

aRow = tb.NewRow

aRow(0) = sAry(0)

'aRow(1) = sAry(1)

'aRow(2) = CInt(sAry(2))

tb.Rows.Add(aRow)

Loop

myStream.Close()


No comments:

Post a Comment