我想在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 };";
答案 0 :(得分:1)
您的命令字符串为false,值前缺少空格。因此,代替
ListenerRetriever
执行此操作:
cmdString = $"INSERT INTO {n}" + "VALUES (?, ?);";
或者,如果您坚持串联:
cmdString = $"INSERT INTO {n} VALUES (?, ?);";
还要检查cmdString = $"INSERT INTO {n}" + " VALUES (?, ?);";
//notice the space here ----------^
是否包含现有表名
答案 1 :(得分:0)
取决于n值,您将具有不同的cmdString。 n可能包含没有空格的表名,因此,结果字符串将表名和值粘合在一起。 在调试器中检查cmdString的值(或将其输出到日志)。