【发布时间】:2014-02-07 23:15:31
【问题描述】:
我正在尝试在 tbl1 中插入一个字段 'SID' 值,但要获取 SID 它必须引用名字和姓氏到另一个表(tbl2)获取SID,然后我使用了以下SQL语句和后续代码。
Dim sqlquery As String = "INSERT INTO tblPayments (StudentID,Payment,PaymentDate) VALUES (SELECT StudentID FROM tblStudents WHERE Forename = @Forename AND Surname = @Surname , Payment = @SPaid, PaymentDate = @todaysdate)"
Dim sqlcommand As New OleDbCommand
With sqlcommand
.CommandText = sqlquery
.Parameters.AddWithValue("@SPaid", Paidtxt.Text)
.Parameters.AddWithValue("@todaysdate", Today.Date)
.Parameters.AddWithValue("@Forename", Forenametxt.Text)
.Parameters.AddWithValue("@Surname", Surnametxt.Text)
.Connection = conn
.ExecuteNonQuery()
End With
MsgBox("query executed, closing connection")
conn.Close()
然而,SQLQuery 给出了错误:
“System.Data.OleDb.OleDbException”类型的未处理异常 发生在 System.Data.dll 附加信息:查询表达式中的语法错误 'SELECT StudentID FROM tblStudents WHERE Forename = @Forename AND Surname = @姓氏。
但是我看不出语句中被指定为错误的部分有什么问题,谁能告诉我哪里错了?
【问题讨论】: