近日練習以Excel當作資料庫的方式操作,遇到一些問題爬文無解,故來向前輩求教...
方式:
透過OleDbConnection讀取、寫入Excel表格
程式目的:
比對兩個工作簿的資料,並依據設定條件,輸出資料到新的工作簿中
code:
try
{
OleDbConnection con = new OleDbConnection(constr);
con.Open();
OleDbCommand cmd = new OleDbCommand
{
CommandText = sql,
Connection = con
};
string s = cmd.ExecuteScalar() == null ? "" : cmd.ExecuteScalar().ToString();
//if(con.State==ConnectionState.Open) con.Close();con.Dispose();
return s;
}
catch
{
}
過程中發現,若在讀取完資料後將con關閉,執行時間會變得很慢(約10分鐘),但輸出資料正確;
若不關閉con,則會產生兩種結果:
想請問為何會有此種情形發生,以及如何解決?