C# 检查update语句是否成功
我使用以下方法将对象设置为特定状态(它将特定行的列值设置为“4”): C# SQL: 问题是DB_对象DB不是由我们管理的,而是一个软件的DB 接下来的问题是,上面的查询并不总是有效的(我们还没有弄清楚原因),我在考虑如何“强制”或“检查”行是否已更新 按以下方式做是否明智 1-创建新的C#方法C# 检查update语句是否成功,c#,sql,verify,C#,Sql,Verify,我使用以下方法将对象设置为特定状态(它将特定行的列值设置为“4”): C# SQL: 问题是DB_对象DB不是由我们管理的,而是一个软件的DB 接下来的问题是,上面的查询并不总是有效的(我们还没有弄清楚原因),我在考虑如何“强制”或“检查”行是否已更新 按以下方式做是否明智 1-创建新的C#方法Check和存储过程getStatus,用于检索对象的状态 2-我将把上述两种方法放在do中,直到状态为4 这是一种聪明的方法吗?方法返回受影响的行数 int recordAffectd = comman
Check
和存储过程getStatus
,用于检索对象的状态
2-我将把上述两种方法放在do中,直到状态为4
这是一种聪明的方法吗?方法返回受影响的行数
int recordAffectd = command.ExecuteNonQuery();
if (recordAffectd > 0)
{
// do something here
}
ExecuteNonQuery()根本不返回数据:只返回受插入、更新或删除影响的行数
试试这个
if (command.ExecuteNonQuery() != 0)
{
// more code
}
“command.ExecuteNonQuery();”已经给出了答案。只需检查它是否为0,它是否为0,然后就没有任何内容被更新或更改。ExecuteNonQuery将返回受影响的行数。这意味着我可以在方法内调用相同的方法?如int rowsAffected=command.ExecuteNonQuery();如果(rowsAffected==0){setObjectToFour(objectID)}
这意味着我可以在我的方法中调用相同的方法?比如int rowsAffected=command.ExecuteNonQuery();if(rowsAffected==0){setObjectToFour(objectID)}
@user3127554。完全正确。@user3127554但请确保不要无条件执行此操作。如果它将连续多次返回0,则可能会出现stackoverflow异常,这将使整个过程崩溃。
int recordAffectd = command.ExecuteNonQuery();
if (recordAffectd > 0)
{
// do something here
}
if (command.ExecuteNonQuery() != 0)
{
// more code
}