如何获取更新记录数的计数(*)

l--*_*''' 1 .net c# sql sql-server-2008

我正在使用c#更新sql server 2008数据库,如下所示:

foreach (DataRow row in dt.Rows)
{
    faxstatus = row.ItemArray[5].ToString().Contains("0000") ? "Faxed" : "Error";

    query = 
        @"update FileLog set
        FaxStatus=" + "'" + faxstatus + "'," +
        "FaxedPageCount=" + "'" + row.ItemArray[1] + "'," +
        "dtFaxed=" + "'" + row.ItemArray[2] + "'," +
        "BiscomCode=" + "'" + row.ItemArray[5] + "', " +
        "RetryCount=" + "'" + row.ItemArray[4] + "' " +
        "where CONVERT(VARCHAR(255), JobID) =" + "'" + row.ItemArray[3] + "'" +
        " and FaxStatus<>'Faxed'";

    command = new SqlCommand(query, myConnection);
    command.ExecuteNonQuery();
    NumberOfRecordsUpdated++;

}
Run Code Online (Sandbox Code Playgroud)

我想知道是否有可能返回更新了多少条记录?

Chr*_*ung 8

是.使用ExecuteNonQuery的返回值.:-)

引用ExecuteNonQuery文件:

对于UPDATE,INSERT和DELETE语句,返回值是受命令影响的行数.


Ant*_*ram 5

捕获并使用ExecuteNonQuery整数的结果.该方法返回受操作影响的记录数.

请参见SqlCommand.ExecuteNonQuery方法.

话虽这么说,你信任你的数据源多少钱?足够打赌你的数据完整性吗?如果我没有恳请您探索参数化查询,我会被遗忘.一个using声明也将保证让您的可支配资源(SqlConnection,SqlCommand,等)妥善处理.