如何将数据插入sql server中的自引用表
本文关键字:自引用 server sql 数据 插入 | 更新日期: 2023-09-27 18:00:09
将数据插入自引用表的查询是什么。我的表有4列:
SlNo
、Name
、ParentId
、CurrentBanlance
。
我尝试了这个SQL查询,但它没有执行,还有其他方法吗?
INSERT INTO Ptr_AcntInfo
SELECT
'" + txtAcName.Text + "',
(SELECT [SlNo] FROM Ptr_AcntInfo WHERE [Ac_Nm] = '" + cbxAcntGrpName.Text + "'),"+0.00+""
在这个查询中,我得到了以下错误。
子查询返回了多个值。当子查询跟在=、!=、<lt;=,>,>=或者当子查询用作表达式时
查询应该看起来像:
"INSERT INTO PTR_ACNTINFO (COL1, COL2)
(SELECT " + txtAcName.Text + ", SINo FROM
PTR_ACNTINFO
WHERE [Ac_Nm]='" + cbxAcntGrpName.Text + "')"
请注意,此查询易受SQL Injection
攻击。
http://en.wikipedia.org/wiki/SQL_injection
您应该使用参数化查询或存储过程。
示例:
SQLCommand sqlCommand = new SQLCommand(connection);
sqlCommand.CommandText = "INSERT INTO PTR_ACNTINFO (SELECT $name, SINo FROM
PTR_ACNTINFO WHERE [Ac_Nm]='$accNo')"
sqlCommand.Parameters.AddWithValue("$name", txtAcName.Text);
sqlCommand.Parameters.AddWithValue("$accNo", cbxAcntGrpName.Text);
http://johnhforrest.com/2010/10/parameterized-sql-queries-in-c/