C# 错误[42000][Microsoft][ODBC Visual FoxPro驱动程序]语法错误
HyC# 错误[42000][Microsoft][ODBC Visual FoxPro驱动程序]语法错误,c#,datetime,insert,odbc,C#,Datetime,Insert,Odbc,Hy 我想插入ODBC,但出现错误:错误[42000][Microsoft][ODBC Visual FoxPro驱动程序]语法错误。 我的代码是: string number; insertStatement = "INSERT INTO " + tabela + " (Data, Fetr, Fldo, Nrdo, Dii) " + " VALUES ( "+ "@data" +", 'cc','CD', " + number + ","+ dii + ")";
我想插入ODBC,但出现错误:错误[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();
问题在于数据,但我无法找出问题所在。有人能帮我吗?
谢谢请试一下?而不是查询中的@data,如下所示:
insertStatement = "INSERT INTO " + tabela + " (Data, Fetr, Fldo, Nrdo, Dii) " +
" VALUES ( ? , 'cc','CD', " + number + ","+ dii + ")";
说:
当CommandType设置为Text时
用于ODBC的.NET Framework数据提供程序
不支持传递命名的
SQL语句或
由
odbc命令。在这两种情况下,
使用问号(?)占位符
更新
您可以尝试以这种格式将日期直接连接到insert中{d'2011-03-10'}
(参见以供参考)并删除参数
insertStatement = "INSERT INTO " + tabela + " (Data, Fetr, Fldo, Nrdo, Dii) " +
" VALUES ( { d '" +
data.ToString("yyyy-MM-dd")
+ "' } , 'cc','CD', " + number + ","+ dii + ")";
您能为每个字段指定字段数据类型吗?为每个变量(数字,dii)指定数据类型吗?DateTime数据,double dii,string number-表中的数字是数字类型。只有我在数据方面有问题…因为如果我在没有数据的情况下插入,它可以工作,但是当我在insert语句中插入数据时,如果我输入,它会给我错误信息?错误不是@data,而是error[22018][Microsoft][ODBC Visual FoxPro Driver]数据类型不匹配。@user599977我添加了一个建议。看看这样行不行