Try
Dim SQL As String, NewID As Integer, SysDate As Date
Dim da As New Table1TableAdapter
Dim dtable As TestDataSet.Table1DataTable = me.dsTest.Table1
da.Connection.Open()
' อ่าน Primary ตัวสุดท้าย
Dim sqlCmd As SqlCommand = da.Connection.CreateCommand()
SQL = "SELECT PK=ISNULL((SELECT TOP 1 x.PK FROM Table1 ORDER BY x.PK DESC),0), SysDate=GETDATE()"
sqlCmd.CommandText = SQL
Dim dread As SqlDataReader = sqlCmd.ExecuteReader()
If dread.Read() Then
NewID = dread("PK")
SysDate = dread("SysDate")
End If
dread.Close()
Dim stErr As String = ""
Dim blUpdate As Boolean
' ลูบเพื่ออัพเดต PK, usrInsert, dtInsert, usrModify, dtModify
For Each drow dtable.Rows
blUpdate = False
' ส่วนของการ Validate ข้อมูล
If (drow.RowState And 20) > 0 Then
' มีการแก้ไขหรือเพิ่มข้อมูล
If <เงื่อนไขตรวจสอบความถูกต้องของข้อมูล 1> Then stErr += vbCrLf +"- ข้อผิดพลาด 1"
If <เงื่อนไขตรวจสอบความถูกต้องของข้อมูล 2> Then stErr += vbCrLf +"- ข้อผิดพลาด 2"
If stErr<>"" Then Throw New Exception(stErr)
blUpdate = True
End If
' ส่วนของการ Update User และวันที่
If blUpdate Then
If drow.RowState = DataRowStat.Added Then
NewID += 1
drow("PK") = NewID
drow("usrInsert") = My.User.Name
drow("dtInsert") = SysDate
End If
drow("usrModify") = My.User.Name
drow("dtModify") = SysDate
End If
Next
da.Update(dtable)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Tag : .NET, Ms SQL Server 2005, Win (Windows App), VS 2005 (.NET 2.x)