c# - 减少 Update 和 Sum Query C# Access DB 的时间?

标签 c# sql database winforms ms-access

我有一个简单的查询,使用 VS2012 C# 的查询生成器更新我的 winforms 应用程序中的数据库。到目前为止,该数据库有 216 个条目,更新数据库需要一生。如何缩短时间? 我应该对每一列进行更多查询还是还有其他问题?这是查询:

UPDATE      StudentInfo
SET         PLO_1_Status = ?, PLO_2_Status = ?, PLO_3_Status=?,
            PLO_4_Status = ?, PLO_5_Status = ?, PLO_6_Status = ?, 
            PLO_7_Status = ?, PLO_8_Status = ?, PLO_9_Status = ?, 
            PLO_10_Status = ?, PLO_11_Status = ?, PLO_12_Status = ?
WHERE       (CMS_ID = ?)

下面是我如何在 C# 中调用此查询。我正在使用 QueryBuilder 和 DatasetDesigner 以及 Access DB

for (int i = 0; i < CMS_ID_Var.Count; i++)
{
    this.studentInfoTableAdapter.UpdatePLO_Overall(
        Convert.ToInt32(PercentageFormula_PLO1[i]), 
        Convert.ToInt32(PercentageFormula_PLO2[i]), 
        Convert.ToInt32(PercentageFormula_PLO3[i]), 
        Convert.ToInt32(PercentageFormula_PLO4[i]), 
        Convert.ToInt32(PercentageFormula_PLO5[i]), 
        Convert.ToInt32(PercentageFormula_PLO6[i]), 
        Convert.ToInt32(PercentageFormula_PLO7[i]), 
        Convert.ToInt32(PercentageFormula_PLO8[i]), 
        Convert.ToInt32(PercentageFormula_PLO9[i]), 
        Convert.ToInt32(PercentageFormula_PLO10[i]), 
        Convert.ToInt32(PercentageFormula_PLO11[i]), 
        Convert.ToInt32(PercentageFormula_PLO12[i]),
        CMS_ID_Var[i].ToString());
   this.studentInfoTableAdapter.Fill(this.oBE_DB_1DataSet.StudentInfo);
}

最佳答案

更新表后,在循环外填充一次数据集:

for (int i = 0; i < CMS_ID_Var.Count; i++)
{
    this.studentInfoTableAdapter.UpdatePLO_Overall(
        Convert.ToInt32(PercentageFormula_PLO1[i]), 
        Convert.ToInt32(PercentageFormula_PLO2[i]), 
        Convert.ToInt32(PercentageFormula_PLO3[i]), 
        Convert.ToInt32(PercentageFormula_PLO4[i]), 
        Convert.ToInt32(PercentageFormula_PLO5[i]), 
        Convert.ToInt32(PercentageFormula_PLO6[i]), 
        Convert.ToInt32(PercentageFormula_PLO7[i]), 
        Convert.ToInt32(PercentageFormula_PLO8[i]), 
        Convert.ToInt32(PercentageFormula_PLO9[i]), 
        Convert.ToInt32(PercentageFormula_PLO10[i]), 
        Convert.ToInt32(PercentageFormula_PLO11[i]), 
        Convert.ToInt32(PercentageFormula_PLO12[i]),
        CMS_ID_Var[i].ToString());
}
this.studentInfoTableAdapter.Fill(this.oBE_DB_1DataSet.StudentInfo);

关于c# - 减少 Update 和 Sum Query C# Access DB 的时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37133091/

相关文章:

sql - 如果丢失,PostgreSQL 使用前一行的值

SQL Server : how to perform a count over several Datetime ranges grouped by day/hour etc?

mysql - SQL 加入 NOT IN() 不起作用

python - 我有一个输入文件,我正在尝试从中构建字典

c# - 如何查询一个域的用户是否是另一个AD域中的组的成员?

c# - SQL Server 慢速插入 - SqlBulkCopy 性能

MySQL 从结果中获取平均值,平均值必须在 8 到 12 之间

php - 如何提取所有在laravel中重复的行?

c# - 接收对我的服务的 HTTP 响应时出现 WCF 错误

c# - 在数据 GridView 中显示最新数据