|
|
|
ต้องการ pk ตารางหนึ่ง มา insert ไว้ในฟิวของอีกตารางหนึ่งทำไงคะ vb.net ช่วยทีค่ะ |
|
|
|
|
|
|
|
เขียนอธิบายเยอะหน่อย ให้คนอื่นเข้าใจง่ายๆ ได้ไหมครับ จะได้ไม่ต้องตีความนาน
จะ insert ข้อมูลใช่ไหมครับ โดยต้อง insert 2 table
table แรกไม่มีปัญหา สามารถ insert แบบธรรมดาได้เลย
แต่ทีนี้พอจะ insert อีก table นึงวึ่งจำเป็นต้องใช้ pk ของ table ที่แล้ว
มาเป็น fk เลยไม่รู้จะเรียกยังยังไง ถูกต้องไหมครับ
|
|
|
|
|
Date :
2010-06-09 15:10:15 |
By :
tungman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมก็ว่าน่าจะ อย่างงั้นนะคับ
|
|
|
|
|
Date :
2010-06-10 21:57:00 |
By :
adunafah |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เขียนอธิบายเยอะหน่อย ให้คนอื่นเข้าใจง่ายๆ ได้ไหมครับ จะได้ไม่ต้องตีความนาน
จะ insert ข้อมูลใช่ไหมครับ โดยต้อง insert 2 table
table แรกไม่มีปัญหา สามารถ insert แบบธรรมดาได้เลย
แต่ทีนี้พอจะ insert อีก table นึงวึ่งจำเป็นต้องใช้ pk ของ table ที่แล้ว
มาเป็น fk เลยไม่รู้จะเรียกยังยังไง ถูกต้องไหมครับ
// ตอบ ถูกต้องค่ะ
ตารางที่เกี่ยวข้องมี สอง ตารางค่ะ คือตาราง Profile และ history ตาราง history มีฟิว PID เป็น pk
แล้วทีนี้ตาราง Profile ฟิวดังนี้ คือ ProfileID,PrisonID,Blame,Tall,Weight,DepartID,PartID,AreaID,PID,rdoNewMove
ProfileID เป็น pk และต้องการให้เวลาบันทึกให้มีรหัสในฟิวนี้อัตโนมัติอ่าค่ะ และฟิว PID ก็ให้มีรหัสในฟิวนี้อัตโนมัติเหมือนกันค่ะ แต่ฟิว PID ให้ดึงมาจาก PK ตาราง history ที่บันทึกครั้งล่าสุดอ่ะคะ
ส่วนที่บอกว่า ProfileID กำหนดเป็น auto increament กำหนดไปแล้ว แต่เวลา codding ต้องเขียนแบบนี้รึป่าวคะ คือ insert into (PrisonID,Blame,Tall,Weight,DepartID,PartID,AreaID,PID,rdoNewMove) คือตัด ProfileID ออกไปเลยหรอคะ
ส่วน PID ที่บอกว่า ให้ select max(PK) from history แล้วเอามา insert ใน PID ของ Profile codding ต้องเป็นแบบใหนคะ หนูลองทำแบบนี้แล้วมันไม่ได้อ่าค่ะ มันฟ้องว่า conversion string "select max(pk) from history" to type'integer' is not valid //หนูไม่แน่ใจว่า max(pk) ต้องใส่เป็น max(PID) หรือ max(pk) ]ลองทั้งสองอย่างแล้ว ฟ้องเหมือนกันค่ะ ช่วยทีนะคะ
Dim sqlProfile As String = ""
'SELECT max(fieldname) from Tablename
Dim sqlselect As String = "SELECT MAX(PK) FROM HISTORY"
sqlProfile = "INSERT INTO PROFILES (PrisonID,Blame,Tall,Weight,DepartID,PartID,AreaID,PID,rdoNewMove)"
sqlProfile &= " VALUES ('" & CStr(ComboPrison_t2.SelectedValue) & "', "
'sqlProfile &= "'" & CStr(ComboPrison_t2.SelectedValue) & "',"
sqlProfile &= "'" & (txtBlame_t2.Text.Trim) & "',"
sqlProfile &= "'" & (txtTall_t2.Text.Trim) & "',"
sqlProfile &= "'" & (txtWeight_t2.Text.Trim) & "',"
sqlProfile &= "'" & CStr(ComboDepartment_t2.SelectedValue) & "',"
sqlProfile &= "'" & CStr(ComboPart_t2.SelectedValue) & "',"
sqlProfile &= "'" & CStr(ComboArea_t2.SelectedValue) & "',"
sqlProfile &= "'" & CInt(sqlselect) & "',"
If rdoNew_t2.Checked = True Then
sqlProfile &= "'รับตัวใหม่')"
ElseIf rdoMove_t2.Checked = True Then
sqlProfile &= "'ย้ายมาจากเรือนจำอื่น')"
End If
|
|
|
|
|
Date :
2010-06-12 22:20:08 |
By :
donut |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|