我用OleDb方式Insert数据到Excel中,然后添加一行,然后再用OleDb方式Select读取数据,为什么新增的一行读不出来?string connString = "Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = " + filePath + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\"";
DataTable table = OleDbHelper.GetExcelTables(connString);
if(table == null || table.Rows.Count <= 0)
{
return null;
}string cmdText = "select * from [" + table.Rows[0]["TABLE_NAME"].ToString() + "]";
DataTable dt = OleDbHelper.FillDataTable(connString, cmdText);
这个dt总是刚才Insert进去的行数,新增的行读不出来,这是为什么啊?
DataTable table = OleDbHelper.GetExcelTables(connString);
if(table == null || table.Rows.Count <= 0)
{
return null;
}string cmdText = "select * from [" + table.Rows[0]["TABLE_NAME"].ToString() + "]";
DataTable dt = OleDbHelper.FillDataTable(connString, cmdText);
这个dt总是刚才Insert进去的行数,新增的行读不出来,这是为什么啊?
解决方案 »
- 未将对象引用设置到对象的实例!?
- 送分了,SendKeys.Send("%{F4}"),发送alt+f4可以,为什么发送回车键时没反应,如: SendKeys.Send("{Enter}");
- c#动态编译返回值的问题
- 在Form里放了一个UserControl,如何在UserControl里获得属于的Form。
- datagrid中的combobox问题(附代码)
- 会员登录的问题
- 请问如何监视一个线程,在这个线程结束后激发一个事件?
- 菜鸟问题!
- C#中,如何实现对ArrayList列表中已有元素的修改操作?(在线等)
- 这段代码能否用c#实现
- 双数据库操作问题
- DataGird 删除最后一行后显示索引超出界限
OleDbCommand cmd = new OleDbCommand();
using(OleDbConnection conn = new OleDbConnection(connString))
{
DataTable dt = new DataTable();
cmd.Connection = conn;
cmd.CommandText = cmdText;
OleDbDataAdapter sda = new OleDbDataAdapter(cmd);
sda.Fill(dt);
cmd.Parameters.Clear();
sda.Dispose();
return dt;
}
http://www.codeproject.com/csharp/excel_using_oledb.asp
这个我看过,也没有说到这个问题
我肯定是关闭了connection了,甚至我关掉程序,再打开然后读取,还是不行
就是后来我手工编辑添加的行读取不到!