ต้องการบันทึกข้อมูลลง 2 ตารางพร้อมกันทำไงคะ ต้องการบันทึกข้อมูลลง 2 ตารางพร้อมกันทำไงคะ
ต้องการบันทึกข้อมูลลง 2 ตารางพร้อมกันทำไงคะ โดยตารางแรกที่บันทึกเส็จแล้ว ให้เอา pk ล่าสุดไปบันทึกลงอีกฟิวหนึ่งของอีกตารางหนึ่งอ่าค่ะ โดยตารางนั้น pk รันอัตโนมัติค่ะ
ตารางที่ 1
sb.Remove(0, sb.Length)
sb.Append("INSERT INTO LAWSUIT ")
sb.Append("(Law_Num,CourtID,Law_Blak,Law_Red,Law_Clause,")
sb.Append("CaseID,LawID,Law_dtmStart,Law_DefineYear,")
sb.Append("Law_DefineMonth,Law_DefineDay,Law_OutpenaltyDay,PID)")
sb.Append("VALUES")
sb.Append("(@Law_Num,@CourtID,@Law_Blak,@Law_Red,@Law_Clause,")
sb.Append("@CaseID,@LawID,@Law_dtmStart,@Law_DefineYear,")
sb.Append("@Law_DefineMonth,@Law_DefineDay,@Law_OutpenaltyDay,@PID)")
Dim sqlCmd As String
sqlCmd = sb.ToString()
With com
.CommandText = sqlCmd
.CommandType = CommandType.Text
.Connection = Conn
.Transaction = tr
.Parameters.Clear()
.Parameters.Add("@Law_Num", SqlDbType.NVarChar).Value = txtCase_t3.Text.Trim()
.Parameters.Add("@CourtID", SqlDbType.NVarChar).Value = CStr(ComboCourt_t3.SelectedValue)
.Parameters.Add("@Law_Blak", SqlDbType.NVarChar).Value = txtCaseBlak_t3.Text.Trim()
.Parameters.Add("@Law_Red", SqlDbType.NVarChar).Value = txtCaseRed_t3.Text.Trim()
.Parameters.Add("@Law_Clause", SqlDbType.NVarChar).Value = txtClause_t3.Text.Trim()
.Parameters.Add("@CaseID", SqlDbType.NVarChar).Value = CStr(ComboMistake_t3.SelectedValue)
.Parameters.Add("@LawID", SqlDbType.NVarChar).Value = CStr(ComboLaw_t3.SelectedValue)
.Parameters.Add("@Law_dtmStart", SqlDbType.NVarChar).Value = dtmStart.Text.Trim()
.Parameters.Add("@Law_DefineYear", SqlDbType.NVarChar).Value = txtYear_t3.Text.Trim()
.Parameters.Add("@Law_DefineMonth", SqlDbType.NVarChar).Value = txtMonth_t3.Text.Trim()
.Parameters.Add("@Law_DefineDay", SqlDbType.NVarChar).Value = txtDay_t3.Text.Trim()
.Parameters.Add("@Law_OutpenaltyDay", SqlDbType.NVarChar).Value = dtmOutpenaltyDay_t3.Text.Trim()
.Parameters.Add("@PID", SqlDbType.NVarChar).Value = CInt(FormAdd.txtPid.Text.Trim)
.ExecuteNonQuery()
End With
ตารางที่ 2
Dim sqlLawsuitID As String = " SELECT MAX(LawsuitID) As LawsuitID FROM LAWSUIT "
da = New SqlDataAdapter(sqlLawsuitID, Conn)
ds = New DataSet
da.Fill(ds, "Lawsuit")
dvm = ds.DefaultViewManager
sb.Remove(0, sb.Length)
sb.Append("INSERT INTO BEHAVIORS ")
sb.Append("(LawsuitID,DetailsBehavior)")
sb.Append("VALUES")
sb.Append("(@LawsuitID,@DetailsBehavior)")
Dim sqlCmd2 As String
sqlCmd2 = sb.ToString()
With com
.CommandText = sqlCmd2
.CommandType = CommandType.Text
.Connection = Conn
.Transaction = tr
.Parameters.Clear()
.Parameters.Add("@LawsuitID", SqlDbType.NVarChar).Value = dvm
.Parameters.Add("@DetailsBehavior", SqlDbType.NVarChar).Value = ""
.ExecuteNonQuery()
End WithTag : - - - -
Date :
2010-07-16 19:51:54
By :
donut
View :
1145
Reply :
1
ถ้าเป็นผมนะ
1. บันทึกค่าลงตารางเเรก
2. ดึกค่าล่าสุดออกมาโดยใช้ ASC เอานะ
3. เอาค่าล่าสุดไปบันทึกต่อนะคับ
ส่วน PK ผมว่าสร้างเองโดยอัตโนมัติดีกว่านะคับ ถ้าสร้างเอาบันทึกพร้อมกันเลยนะคับทั้ง 2 ตาราง ไม่ต้องไปดึงค่ากลับไปกลับมา.....ช่วยได้ไหมหว่าาาา
Date :
2010-07-19 00:17:12
By :
EucifeR
Load balance : Server 03