选择并更新 DataTable 中的行
我有以下 SQL 语句,并且希望在找到行时更新数据库表。
string sql = "Select A.CNum FROM TABLEA A, TABLEB B WHERE A.CID= B.CID AND A.CNum is NULL AND CID=@cID"
DataTable dt = querySql(sql, params);
if (dt.Rows.Count > 0)
{
// I would like to update CNum from TableA
}
从 SQL 语句更新行的最佳方法是什么?
谢谢..
I have a following SQL statement and would like to update Database table if row found.
string sql = "Select A.CNum FROM TABLEA A, TABLEB B WHERE A.CID= B.CID AND A.CNum is NULL AND CID=@cID"
DataTable dt = querySql(sql, params);
if (dt.Rows.Count > 0)
{
// I would like to update CNum from TableA
}
What is the best method to update the row from SQL Statement?
Thank you..
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
应该可以在一条语句中完成此操作,而无需往返数据库和返回任何数据:
注意我在最后一行限定了 CID 引用(我认为如果没有此引用,您会收到错误,因为它存在于两个表中,并使用内部联接来连接表。请注意,newValueHere 可以是任何列的表达式在A或B中。
It should be possible to do this in one statement without round-tripping any data from the database and back:
note I qualified the CID reference in the last line ( I think you'll get an error without this as it exists on both tables, and used an inner join to connect your tables. Note that newValueHere can be an expression of any of the columns in A or B.
使用 Tom 的回答中的 SQL 和以下 C# 将给你你想要的。
Using the SQL from Tom's answer with the following C# will give you what you want.
您可以使用
EXISTS
构造在一个查询中执行此操作。you can use
EXISTS
construct to do this in just one query.