我想從MDB
文件讀取一個相對較大的表並將其字段保存爲Dictionary
。這是一次性操作,之後我不需要UPDATE
或INSERT INTO
數據庫。所以我只需要一個SELECT
查詢。從MDB讀取字典到C#中的最快方法
什麼是最快速的方法來做到這一點。使用數據集看起來很慢:
var con = new OleDbConnection();
const string dbProvider = "PROVIDER=Microsoft.Jet.OLEDB.4.0;";
const string dbSource = "Data Source = D:/programming/Frames.mdb";
con.ConnectionString = dbProvider + dbSource;
con.Open();
const string query = "SELECT * FROM [Concrete Design 1 - Column Summary Data - ACI 318-99]";
var dt = new DataTable();
var da = new OleDbDataAdapter(query, con);
da.Fill(dt);
for (int i = 0; i < dt.Rows.Count; i++)
{
// Create Dictionary here
}
我知道使用下面的方法會更快,但我只是不知道如何得到它的權利:
var con = new OleDbConnection();
const string dbProvider = "PROVIDER=Microsoft.Jet.OLEDB.4.0;";
const string dbSource = "Data Source = D:/programming/Frames.mdb";
con.ConnectionString = dbProvider + dbSource;
var cmd = new OleDbCommand { Connection = con };
con.Open();
cmd.CommandText = "SELECT * FROM [Concrete Design 1 - Column Summary Data - ACI 318-99]";
// I don't know how get the fields and rows from the database
con.Close();
怎麼辦你想存儲爲關鍵和價值? –
作爲關鍵字的第一個字段和其他字段將被定義爲類中的屬性並設置爲字典的值。 – Vahid
事實上,當你使用Jet時,還有很多其他的事情需要擔心。保持它幾個月沒有數據損壞是一個重大的努力。不速度,這是一個非常有效的ISAM。 –