HY
我想插入ODBC,我有错误:ERROR [42000] [Microsoft] [ODBC Visual FoxPro驱动程序]语法错误。
我的代码是:
string number;
insertStatement = "INSERT INTO " + tabela + " (Data, Fetr, Fldo, Nrdo, Dii) " +
" VALUES ( "+ "@data" +", 'cc','CD', " + number + ","+ dii + ")";
OdbcCommand cmd = new OdbcCommand(insertStatement, this.connection);
cmd.Parameters.Add("@data",OdbcType.DateTime).Value = data;
cmd.ExecuteNonQuery();
问题在于数据,但我无法弄清楚问题是什么 有人能帮帮我吗? 感谢
答案 0 :(得分:1)
insertStatement = "INSERT INTO " + tabela + " (Data, Fetr, Fldo, Nrdo, Dii) " +
" VALUES ( ? , 'cc','CD', " + number + ","+ dii + ")";
Msdn说:
当CommandType设置为Text时, 用于ODBC的.NET Framework数据提供程序 不支持传递命名 SQL语句或参数的参数 由...调用的存储过程 的OdbcCommand。在任何一种情况下, 使用问号(?)占位符。
<强>更新强>
您可以尝试使用此格式{ d '2011-03-10' }
直接在插入中连接日期(请参阅ODBC Datetime Format以供参考)并删除参数。
insertStatement = "INSERT INTO " + tabela + " (Data, Fetr, Fldo, Nrdo, Dii) " +
" VALUES ( { d '" +
data.ToString("yyyy-MM-dd")
+ "' } , 'cc','CD', " + number + ","+ dii + ")";