直接將 Source Code 貼出來給你們參考
做法跟使用 ADO 方式一樣
說明請參考 Source Code 的註解就會明白了
不過當你的系統是 64 位元時, 會發生以下問題
因為Jet不支援 64 位元, 所以必需編譯成 32 位元
請修改建置-->平台目標-->選擇 x86
再執行程式
做法跟使用 ADO 方式一樣
說明請參考 Source Code 的註解就會明白了
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Data.OleDb; namespace LoadCSVDemo { class Program { static void Main(string[] args) { OleDbConnection conn = null; OleDbCommand comm = null; OleDbDataReader dr = null; string sql = "select * from [TestData.csv]"; // TestData.csv <-- 想要載入的 CSV 檔檔名 // Data Source 的參數表示想載入的 CSV 檔的路徑位置 // Extended Properties 中 // --> Text 表示要載入的檔案屬性屬於文字檔 // --> HDR = NO 表示第一行的資料非標頭欄位 // --> HDR = YES 表示第一行的資料為標頭欄位 string connectString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\;Extended Properties='Text;HDR=NO'"; try { conn = new OleDbConnection(connectString); conn.Open(); comm = conn.CreateCommand(); comm.CommandText = sql; dr = comm.ExecuteReader(); while (dr.Read()) { Console.WriteLine("{0}\t\t{1}\t\t{2}", dr[0], dr[1], dr[0]); } } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { if (conn != null && conn.State == ConnectionState.Open) conn.Close(); } Console.Read(); } } }
不過當你的系統是 64 位元時, 會發生以下問題
因為Jet不支援 64 位元, 所以必需編譯成 32 位元
請修改建置-->平台目標-->選擇 x86
再執行程式
沒有留言:
張貼留言