我知道DataAdapter有性能問題,但有沒有辦法解決它可能會更快?目前,DataAdapter.Fill方法在3000條記錄上花費5-6秒,對我的應用來說太慢了。如果我刪除Fill
行並僅執行SQL(使用SQLCE),則需要20毫秒,所以我猜猜查詢不是問題。我試過在數據表上添加BeginLoadData
,但它對性能沒有影響。DataAdapter.Fill太慢
using (SqlCeConnection con = new SqlCeConnection(conString))
{
con.Open();
using (SqlCeDataAdapter dAdapter= new SqlCeDataAdapter())
{
using (SqlCeCommand com = new SqlCeCommand(query, con))
{
com.Parameters.Add("uname", textBox1.Text);
dAdapter.SelectCommand = com;
dAdapter.SelectCommand.Connection = con;
DataTable dTable = new DataTable();
dAdapter.Fill(dTable);
dataGridView1.DataSource = dTable;
}
}
}
是否有更好的方法來填充DataGridView或加速Fill
方法?
都能跟得上。使用DataReader。 – vcsjones 2012-01-04 17:33:49
也許是連接速度是一個問題? – CamronBute 2012-01-04 17:34:18
你可以粘貼代碼,你聲明和填充dTable ..?同樣,如果你正在做的更新或刪除或插入的東西使用DataReader,而不是更快 – MethodMan 2012-01-04 17:34:21