繁体   English   中英

C#使用ODBC连接语法错误插入SQL

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM