错误:'nvarchar'附近的语法不正确。必须声明标量变量“@”。 [英] Error: Incorrect syntax near 'nvarchar '. Must declare the scalar variable "@".
本文介绍了错误:'nvarchar'附近的语法不正确。必须声明标量变量“@”。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
for (int j = 1; j < lineData.Length; j++)
{
query2.Append("insert into ");
query2.Append(tableName);
query2.Append(" values");
query2.Append("(");
string[] Row = lineData[j].Split('\t');
for (int k = 0; k < ((Row.Length) - 1); k++)
{
query2.Append("@");
query2.AppendFormat("[{0}]",fields[k]);
}
query2.Append(");");
SqlCommand command2 = new SqlCommand(query2.ToString(),myConnection);
for (int k=0; k < (Row.Length - 1); k++)
{
StringBuilder parm = new StringBuilder();
parm.Append("\"");
parm.Append("@[");
parm.Append(fields[k]);
parm.Append("]");
parm.Append("\"");
Console.WriteLine(parm.ToString()+" "+Row[k]);
command2.Parameters.AddWithValue(parm.ToString(), Row[k]);
} command2.ExecuteNonQuery();
}
推荐答案
@
仅限在使用SqlParameter
时使用,当您构建字符串查询时,不应使用@ [colname]
但应该使用[colname]
。
使用SqlParameter
时,您不需要使用方括号[]
- >@varname
会做。
删除@
来自字符串查询的前缀。
The@
is only used when you are using theSqlParameter
, when you are building string queries you should not be using@[colname]
but should be using[colname]
.
When using theSqlParameter
you don't need to use square brackets[]
->@varname
will do.
Remove the@
prefix from your string queries.
这篇关于错误:'nvarchar'附近的语法不正确。必须声明标量变量“@”。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文