System.Data.OleDb.OleDbException: 至少一个参数没有被指定值 解决方法

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/flyaim/article/details/5380137

用dataAdapter填充dataset的代码如下:

// HDR=YES 有两个值:YES/NO,表示第一行是否字段名,默认是YES,第一行是字段名
// IMEX=1 表示是否强制转换为文本,解决数字与字符混合时,识别不正常的情况.
// PS:IMEX=0---输出模式;IMEX=1---输入模式;IMEX=2----链接模式(完全更新能力)
string oleDbConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileFullName + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";

// 这里的select语句需要注意:别名不能使用 = 号,应该使用 as 。

// 如:Assetid=资产编号 会报错:至少一个参数没有被指定值。而用 资产编号 as Assetid 则没有问题。
string sqlCmd = "SELECT 资产编号 as Assetid FROM [" + sheetName + "]";
OleDbDataAdapter oleDbDA = new OleDbDataAdapter(sqlCmd, new OleDbConnection(oleDbConnectionString));
oleDbDA.Fill(dsSheets, "Table1");

调试的时候出现异常:

System.Data.OleDb.OleDbException: 至少一个参数没有被指定值

 

解决方法:

一般出现这个问题都是查询语句select部分的字段不匹配造成的,仔细检查你的select语句。如上面提到的一种情况就是使用别名的情况。select语句正确了,问题就解决了。

 

 

 

展开阅读全文

没有更多推荐了,返回首页