我正在尝试将.NET十进制值数据插入MS Access列'decimal'
MS Access列定义为数字十进制 - 精度18比例2
以这种方式创建OleDbParameter:
var p3 = new OleDbParameter();
p3.DbType = System.Data.DbType.Decimal;
p3.Value = 10.12m;
p3.Precision = 18;
p3.Scale = 2;
执行命令后,我收到“条件表达式中的数据类型不匹配”异常。
我做错了什么?
MS Access是2007,但dababase是旧文件格式* .mdb。
答案 0 :(得分:0)
我建议在你的价值中添加一个m。在C#中,m指定十进制值而不是double。
var p3 = new OleDbParameter();
p3.DbType = System.Data.DbType.Decimal;
p3.Value = 10.12m;//added the m here to specify the decimal value.
p3.Precision = 18;
p3.Scale = 2;
答案 1 :(得分:0)
尝试设置值并查看是否需要它:
var p3 = new OleDbParameter();
//p3.DbType = System.Data.DbType.Decimal;
p3.Value = 10.12;
//p3.Precision = 18;
//p3.Scale = 2;
或尝试将值设置为整数。我的猜测是OleDbParameter
或System.Data.DbType.Decimal