| 发表于:2007-05-14 14:52:19 楼主 |
static void main(string[] args) { //string strconn = @ "dsn=excel odbc;dbq=d:\testproject\excelodbctest\testodbcxls\test1.xls;defaultdir=d:\testproject\excelodbctest\testodbcxls;driverid=790;fil=excel 8.0;maxbuffersize=2048;pagetimeout=5 "; //odbcconnection conn = new odbcconnection(strconn); //string strsql = @ "select * from [sheet1$] "; //odbcdataadapter oda = new odbcdataadapter(strsql, conn); //dataset ds = new dataset(); //oda.fill(ds); string strconn = @ "provider=microsoft.jet.oledb.4.0;data source=d:\testproject\excelodbctest\testodbcxls\test1.xls;extended properties=excel 8.0; "; oledbconnection conn = new oledbconnection(strconn); conn.open(); string strsql = @ "select * from [sheet1$] "; oledbdataadapter odda = new oledbdataadapter(strsql, conn); //dataset ds = new dataset(); //odda.fill(ds); //for (int i = 0; i < ds.tables[0].rows.count; i++) //{ // console.write(ds.tables[0].rows[i][0]); // console.readline(); //} datatable dt = new datatable(); odda.fill(dt); for (int i = 0; i < dt.rows.count; i++) { console.write(dt.rows[i][0]); console.readline(); } conn.close(); } 以上是我的代码 问题丢失数据 理应显示的数据为 1322313213213210 1 2a 35.5 -4 2007-5-13 2007-5-13 你好 hello 11:34:55 5.05 11,111,111.00 结果显示数据为: 1 35.5 -4 39539 39539 5.05 11,111,111.00 我用odbc和jet4.0都是同样的结果 我做了个asp的页面用ado连接 <% set hpconn_ex = server.createobject( "adodb.connection ") hpconn_ex.open "provider=microsoft.jet.oledb.4.0;data source= "&server.mappath( "test1.xls ")& ";extended properties= " "excel 8.0;hdr=yes;imex=1 " " " strsql = "select * from [sheet1$] " set rs = server.createobject( "adodb.recordset ") rs.open strsql,hpconn_ex,3 for i = 1 to rs.recordcount response.write rs(0)& " </br> " rs.movenext next set rs = nothing hpconn_ex.close set hpconn_ex = nothing %> 用jet4.0就可以显示 差别在于jet4.0的驱动后面 “hdr=yes;imex=1” 我加载在.net里就提示我 “找不到可打开的isam” 不知道什么原因 请知道的人解释一下。。。急啊!!! |
|
|
|
|