【发布时间】:2012-10-02 14:40:16
【问题描述】:
我正在尝试从 c# 调用存储过程,并传入多个参数,但无法使其正常工作。这是我到目前为止所拥有的。
cmd = new SqlCommand();
cmd = dbConn.CreateCommand();
cmd.CommandText = "inserttoTable @size = " + size + ", @brand = " + brand + ", @manu = " + manu + ", @t= " + id.ToString();
cmd.ExecuteNonQuery();
尺寸、品牌和manu 都是字符串。 inserttoTable 是存储过程。
我收到以下错误:System.Data.SqlClient.SqlException: Incorrect syntax near the keyword 'TO'.
【问题讨论】:
-
一方面,如果它们是字符串,则需要用撇号包围它们,但是当变量带有撇号时,这会导致问题。您最好使用我上面评论中显示的参数化查询。
-
这很容易受到 SQL 注入攻击。请重新考虑使用参数化查询。
-
在我看来不像是一个骗子。类似,是的,确切的重复,不是。
标签: sql-server stored-procedures