我有一些問題得到一個查詢運行基於掀起另一查詢。這是數據庫圖給出一點背景。所有表的主鍵都是由標識自動生成的。前兩個插入語句(Donation和Food_Donation)可以工作,但我無法將最後一個插入到Donation_Details中來工作。這裏是到目前爲止的代碼:多if語句,然後,或者?
Dim con As New OleDbConnection(DBcon)
Try
Dim dr As OleDbDataReader
Dim command As New OleDbCommand("Insert into Donation (Donor_ID) VALUES (" & txtDonNum.Text & "); Select @@Identity;")
con.Open()
command.Connection = con
dr = command.ExecuteReader
Dim Donation_ID As String = ""
If dr.Read() Then
Donation_ID = dr(0).ToString
Dim food As New OleDbCommand("Insert into Food_Donation (Date_Received, Donation_ID) Values ('" & maskedreceived.Text & "', " & Donation_ID & "); Select @@Identity")
food.Connection = con
food.ExecuteNonQuery()
End If
Dim Food_ID As String = ""
If dr.Read() Then
Food_ID = dr(0).ToString
Dim food2 As New OleDbCommand("Insert into Donation_Details (Quantity, Unit, Expiration_Date, Food_ID, Storage_ID, Type_ID) Values (" & txtQuantity.Text & ", '" & boxUnit.Text & "', '" & maskedexpire.Text & "', " & Food_ID & ", " & txtStorageID.Text & ", " & txtTypeID.Text & ")")
food2.Connection = con
food2.ExecuteNonQuery()
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
con.Close()
End Try
末次
我相當改正我的SQL語句是正確的,它只是最後的陳述是否需要是如果還是其他什麼東西。
小Bobby表將引以爲豪。 http://xkcd.com/327/。您應該使用參數化查詢。 – Thomas 2011-05-03 23:32:03