Sqlparameter objName = new Sqlparameter ("@jobfolder", SqlDbType.Text)
答案 0 :(得分:4)
@
只是sql server识别参数(变量)的方法
您正在运行的SQL将如下所示:
SELECT * FROM MYTABLE
WHERE MYCOLUMN = @jobfolder
答案 1 :(得分:0)
在T-SQL中,@
符号用于变量以识别它们。
从MSDN(Transact-SQL变量,在声明Transact-SQL变量下):
The DECLARE statement initializes a Transact-SQL variable by: - Assigning a name. The name must have a single @ as the first character. - Assigning a system-supplied or user-defined data type and a length. For numeric variables, a precision and scale are also assigned. For variables of type XML, an optional schema collection may be assigned. - Setting the value to NULL.
通过代码传入的变量名称应该与存储过程/ prepared语句中的变量名称匹配,因此也需要@
。
答案 2 :(得分:0)
SQL Server参数名称的必需第一个字符。
答案 3 :(得分:0)
感谢你。我还根据您的回答在线发现了这些信息“您可能知道,ADO提供了两种提供存储过程的方法 带参数值。在第一种方法中,您可以参考参数 直接命名并简单地指定一个值。在第二个,你建立 从头开始的一个Parameter对象,并将其添加到Command对象中 参数集合。
请注意,使用命名参数时,必须提供 @字符,位于每个SQL Server参数名称之前, 像这样:
cmd.Parameters(“@ someParam”)= 250
另一方面,从头开始构建Parameter对象时, 你不需要提供@ charcter,如下所示:
设置param = cmd.CreateParameter(“someParam”,adBigInt,adParamInput,2,250) cmd.Parameters.Append param“