读书人

OldDbException: Too many field defi

发布时间: 2012-02-09 18:22:27 作者: rapoo

OldDbException: Too many field defined.
我有一个excel表格,里面第一行是日期,2009全年的,所以估计有接近300列。
然后我想用OleDb来处理,基本语法如下:
private static DataSet ReadExcel(string filePath, string[] sheetNames)
{
// create connectoin.
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties=\"Excel 8.0;HDR=NO;IMEX=1\"";
OleDbConnection conn = new OleDbConnection(strConn);

DataSet ds = new DataSet();
try
{
conn.Open();
foreach (string name in sheetNames)
{
string sql = string.Format("select * from [{0}]", name);
OleDbDataAdapter myCommand = new OleDbDataAdapter(sql, strConn);
myCommand.Fill(ds, name);
}
return ds;
}
catch (Exception ex)
{
return ds;
}
finally
{
conn.Close();
conn.Dispose();
}
}

但是在myCommand.Fill(ds, name);的时候抛出Exception:Too Many Field defined.大家遇到过没?有没有好的解决方案。

我刚开始在想既然是OleDbException,那我该sql语句为select top 100 * from [{0}]试试看的,但是还是抛出该异常。。。



[解决办法]
呵呵,确实是这样,不能用SQL方式。

读书人网 >其他数据库

热点推荐