我使用oledbcommand的對象從dBase4數據庫獲取數據並將其加載到數據表中。但是在5-10分鐘左右的時間內獲取160條記錄需要花費太多時間。 請幫幫我。由oledbcommand對象獲取數據時,Excutereader速度很慢
代碼:
using (OleDbConnection cn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;" + @"Data Source=" + TrendFilePath + "\\" + Pathname + ";" + @"Extended Properties=dBASE III;"))
using (OleDbCommand cm = cn.CreateCommand())
{
cn.Open();
for (int L = 0; L <= months; L++)
{
DataTable dt_Dbf = new DataTable();
From_Date = DateTime.ParseExact(frmdate, dateFormat2, provider);
From_Date = From_Date.AddMonths(L);
int month = From_Date.Month;
string year = "1" + From_Date.Year.ToString().Substring(2, 2);
if (L == 0)
{
cm.CommandText = @"SELECT * FROM 128.DBF where DATE_Y ="
+ year + " and DATE_M = " + month + " and DATE_D>=" + From_Day + "";
dt_Dbf.Load(cm.ExecuteReader(CommandBehavior.CloseConnection));
}
}
}
128.dbf文件大小是多少?它是本地還是網絡共享?你真的需要所有的領域? – rene 2011-03-02 11:57:27
你能檢查dbase文件是否有索引嗎?否則,爲列DATE_Y創建一個DATE_Y,DATE_M可能會幫助... – rene 2011-03-02 12:05:59
@rene:128.dbf文件的大小爲326KB Aprox。該文件在遠程PC上。我需要7個領域中的15個。我是新的,所以我不知道如何檢查索引到數據庫 – vishis 2011-03-02 12:35:19