如何解决sql嵌套查询问题?


Dim Cmd As SqlCommand = New SqlCommand("INSERT INTO feesPayments VALUES('" 
& Fees_Payments_Dashboard.txtAmountTendered.Text & "','" 
& Date.Now.ToShortDateString & "', 'studentID' ,'" 
& Fees_Payments_Dashboard.selectTerm.SelectedItem & "','" 
& Facility & "','" 
& Fees_Payments_Dashboard.selectPaymentMethod.Text 
& "'studentID = SELECT students.studentID 
FROM students WHERE 
name='" & Fees_Payments_Dashboard.txtName.Text 
& "' AND surname='" & Fees_Payments_Dashboard.txtSurname.Text 
& "')  ", Conn)
Cmd.ExecuteNonQuery()
INSERT INTO feesPayments VALUES('Fees_Payments_Dashboard.txtAmountTendered.Text',
'Date.Now.ToShortDateString', 
'studentID' ,'Fees_Payments_Dashboard.selectTerm.SelectedItem',
'Facility','Fees_Payments_Dashboard.selectPaymentMethod.Text'

我没有见过这样写的SQL查询语法之前,所以我道歉,如果我是不正确的,但它似乎这个语句将插入字符串值'studentID',而不是在一个名为studentID的参数中持有的值。

我不确定你的结束部分应该如何在语法上工作。

通常,插入是单行,尽管它们可以是多行,如:

INSERT INTO MyTable
( Column1, Column2, Column3 )
VALUES
('John', 123, 'Lloyds Office'), 
('Jane', 124, 'Lloyds Office'), 
('Billy', 125, 'London Office'),
('Miranda', 126, 'Bristol Office');

来源:在单个SQL查询中插入多行?

但即使这样,它也不符合你的尝试。

如果你想根据某些条件在feesPayments中插入一个全新的行,我建议在你的代码库中基于该条件编写一个循环,这样它就可以在每个循环中调用insert。因此,允许使用您需要的值进行简单的插入。

我们需要更多关于你想要完成的事情的信息,因为根据你提供的信息,这不是很清楚。

最新更新