gpt4 book ai didi

c# - 如果存在查询则更新

转载 作者:行者123 更新时间:2023-11-30 15:10:23 24 4
gpt4 key购买 nike

如果表中有一行,我正在尝试更新一条记录。更新记录后,我想从我的方法中返回 TRUE。我正在使用以下查询。我正在使用 SQL Server 2005。我如何知道我的 SQL 查询是否更新了表?请告诉我。

Private Boolean UpdateTable()
{
string sql = "IF EXISTS(Select A.CNum FROM TABLEA A, TABLEB B WHERE A.CID= B.CID AND A.CNum is NULL AND CID=@cID) BEGIN ..... END"

}

谢谢你..

最佳答案

每当你执行一批 SQL 时,你应该被告知有多少行被修改/插入/更新,或者作为你的返回值。 SqlCommand.ExecuteNonQuery() 调用:

Private Boolean UpdateTable()
{
int rowsUpdated = 0;

string sql = "IF EXISTS(Select A.CNum FROM TABLEA A, TABLEB B WHERE A.CID= B.CID AND A.CNum is NULL AND CID=@cID) BEGIN ..... END"

using(SqlConnection con = new SqlConnection("your-connection-string-here"))
{
using(SqlCommand cmd = new SqlCommand(sql, con))
{
con.Open();
rowsUpdated = cmd.ExecuteNonQuery();
con.Close();
}
}

return (rowsUpdated > 0);
}

或者您可以在 UPDATE 之后查询 SQL 语句中的 @@ROWCOUNT 属性:

...
BEGIN
UPDATE ........

DECLARE @Updated INT
SELECT @Updated = @@ROWCOUNT
END

您可以返回该值,或检查大于零的值或任何您想做的事情。

关于c# - 如果存在查询则更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3330982/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com