回答

收藏

C#中的OleDbConnection源变量

技术问答 技术问答 100 人阅读 | 0 人回复 | 2023-09-13

如何D:\temp\test.xls用filePathinOleDbConnection语句替换。
  V1 J! `9 T7 {我能得到准确的filePath(使用OpenFileDialog,然后定位.xls文件,不需要硬编码),但当我插入变量时filePath为Style2.它不会起作用。我怎样才能解决这个问题?谢谢你。
- J9 H/ f" K7 f; [# u样式1
3 P  p& j. K4 Y4 h( oOleDbConnection dbConnection = new OleDbConnection(@&quotrovider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\temp\test.xls;Extended Properties=""Excel 8.0;HDR=Yes;""");样式2* `9 g8 n  Y) {  K/ M1 J6 ]. g
OleDbConnection dbConnection = new OleDbConnection(@&quotrovider=Microsoft.Jet.OLEDB.4.0;Data Source=filePath;Extended Properties=""Excel 8.0;HDR=Yes;""");[更新]我的一些代码是这样的,
3 D) _, o7 C8 M: w6 x+ {1 yDataTable fooData = new DataTable();;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OleDbConnection dbConnection = new OleDbConnection(@&quotrovider=Microsoft.Jet.OLEDB.4.0;Data Source=filePath;Extended Properties=""Excel 8.0;HDR=Yes;""");            dbConnection.Open ();;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;try                                                   OleDbCommand dbCommand = new OleDbCommand("SELECT * FROM [maleSheet$]",dbConnection);                OleDbDataReader dbReader = dbCommand.ExecuteReader();;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;    int RankIndex = dbReader.GetOrdinal("Rank");                while (dbReader.Read())                                                           string rank = dbReader.GetValue(RankIndex).ToString();;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;        ////....                }           }错误如下 OleDbDataReader dbReader = dbCommand.ExecuteReader();
7 C8 j( F5 S1 n3 y1 `. YSystem.Data.dll类型发生在中间’System.Data.OleDb.OleDbException’未处理异常% W% b" w9 t+ j$ O# k8 h% p( j
                                                               
% G$ Q1 p0 a1 ^1 X& e$ N" }$ i    解决方案:                                                               
7 k8 G7 T$ v& }  I+ i8 I- F; p* ~5 d                                                                OleDbConnection dbConnection = new OleDbConnection( String.Format( @”Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=”“Excel 8.0;HDR=Yes;”“”,filePath ) );
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则