首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

OldDbException: Too many field defined.解决方案

2012-02-09 
OldDbException: Too many field defined.我有一个excel表格,里面第一行是日期,2009全年的,所以估计有接近

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方式。

热点排行