Sub*_*tri 2 c# foreach petapoco
假设我使用PetaPoco在循环中执行了更新查询,
foreach (var obj in mainObject) {
db.Execute("update Table set Column = @0 where C1=@1 and C2 =@2", Column1, obj.data1, obj.data2);
}
Run Code Online (Sandbox Code Playgroud)
如何知道每个查询是否已成功执行?
Execute返回受影响的行数.因此,如果你更新了一行,你会得到1返回值,如果成功,否则为0(或错误).
bool allSucceeded = true;
foreach (var obj in mainObject)
{
int updated = db.Execute("update Table set Column = @0 where C1=@1 and C2 =@2", Column1, obj.data1, obj.data2);
bool succeed = updated != 0;
if(!succeed)
allSucceeded = false;
}
Run Code Online (Sandbox Code Playgroud)
所以Execute不会返回1表示成功,0表示失败.它返回受影响的行数.例如,如果您执行此查询:DELETE FROM Table您将删除此表的所有行,返回值将是此表中的行数.所以它取决于逻辑和查询,如果0是失败或1是成功.
顺便说一句,这种行为与ADO.NET方法一致SqlCommand.ExecuteNonQuery.
| 归档时间: |
|
| 查看次数: |
102 次 |
| 最近记录: |