当前位置: 代码迷 >> 其他数据库 >> OldDbException: Too many field defined.解决方案
  详细解决方案

OldDbException: Too many field defined.解决方案

热度:3079   发布时间:2013-02-26 00:00:00.0
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方式。
  相关解决方案