[英]C# inserting to SQL with ODBC connection syntax error
我想在C#中的每个间隔插入行。 我收到此错误:
[42000] [Microsoft] [ODBC SQL Server驱动程序] [SQL Server]';'附近的语法不正确。
这是代码:
cmdString = $"INSERT INTO {n}" + "VALUES (?, ?);";
using (OdbcCommand comm = new OdbcCommand())
{
comm.Connection = connection;
comm.CommandText = cmdString;
comm.Parameters.Add("value", System.Data.Odbc.OdbcType.Int).Value = value;
comm.Parameters.Add("time", System.Data.Odbc.OdbcType.DateTime).Value = System.DateTime.Now;
comm.ExecuteNonQuery();
rows += 1;
}
请帮忙
编辑
现在一切似乎都还可以,但是我看不到行出现在sql server的表中:/您能帮我吗? 这是我的连接字符串:
connetionString = "Driver={Sql Server}; Server=baxu\\sqlexpress; Database = baza1;" + $"UID ={ username };PWD={ password };";
您的命令字符串为false,值前缺少空格。 所以,代替
cmdString = $"INSERT INTO {n}" + "VALUES (?, ?);";
做这个:
cmdString = $"INSERT INTO {n} VALUES (?, ?);";
或者,如果您坚持串联:
cmdString = $"INSERT INTO {n}" + " VALUES (?, ?);";
//notice the space here ----------^
另外,检查n
包含现有表名
根据n值,您将具有不同的cmdString。 n可能包含没有空格的表名,因此,结果字符串将表名和值粘合在一起。 在调试器中检查cmdString的值(或将其输出到日志)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.