C# 如何获取更新记录数的计数(*)
我正在使用c#更新sql server 2008数据库,如下所示:C# 如何获取更新记录数的计数(*),c#,.net,sql,sql-server-2008,C#,.net,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 + "'," + "
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++;
}
foreach(数据行中的数据行)
{
faxstatus=row.ItemArray[5].ToString()包含(“0000”)?“传真”:“错误”;
查询=
@“更新文件日志集
FaxStatus=“+””“+FaxStatus+”,”+
“FaxedPageCount=“+””+行.项目数组[1]+”,”+
“dtFaxed=“+””+行.项目数组[2]+”,”+
“BiscomCode=“+””+行.项目数组[5]+”,”+
“RetryCount=“+””+行.项目数组[4]+””+
其中CONVERT(VARCHAR(255),JobID)=“+”“+行.项目数组[3]+””+
“和传真状态‘传真’”;
command=newsqlcommand(查询,myConnection);
command.ExecuteNonQuery();
NumberOfRecordsUpdated++;
}
我想知道是否可以返回更新了多少记录?是。使用
ExecuteNonQuery
的返回值::-)
引述:
对于UPDATE、INSERT和DELETE语句,返回值是受命令影响的行数
对。使用
ExecuteNonQuery
的返回值::-)
引述:
对于UPDATE、INSERT和DELETE语句,返回值是受命令影响的行数
捕获并使用
ExecuteNonQuery
的结果作为整数。该方法返回受操作影响的记录数
看
也就是说,您对数据源的信任程度如何?足以打赌你的数据完整性了吗?如果我不恳求你去探索参数化查询,我会很抱歉的。使用语句的
也将得到保证,以便正确处理您的可支配资源(SqlConnection
、SqlCommand
等)。捕获并使用ExecuteNonQuery
的结果,使其成为整数。该方法返回受操作影响的记录数
看
也就是说,您对数据源的信任程度如何?足以打赌你的数据完整性了吗?如果我不恳求你去探索参数化查询,我会很抱歉的。使用
声明也将得到保证,以便正确处理您的可支配资源(SqlConnection
,SqlCommand
等)。您可以使用。您可以使用。参考:
返回值
类型:System.Int32
受影响的行数
提及:
返回值
类型:System.Int32
受影响的行数
将SELECT@@@ROWCOUNT
附加到语句中,并使用ExecuteScalar
而不是executenequery
将SELECT@@@ROWCOUNT
附加到语句中,并使用ExecuteScalar
而不是executenequery此代码泄漏,您需要Dispose
使用SqlCommand
或(更好)使用stamtent将其包装在中。我不得不说,这是一种非常肮脏的数据库更新方式。我真的希望您的数据中没有任何“'”字符!您至少应该使用参数。@Joel:参数化语句永远!此代码泄漏,您需要Dispose
使用SqlCommand
或(更好)使用stamtent将其包装在中。我必须说,这是一种非常肮脏的数据库更新方式。我真的希望您的数据中没有任何“'”字符!您至少应该使用参数。@Joel:参数化语句永远!