我正在开发一个web服务,我在其中根据状态使用select语句获取一些记录,然后我需要更改状态。
就像:
select * from tblx where status='x'
然后
update tblx set status='y' where status='x'
获取的记录。
示例代码:
string getpaid = "select top2 * from tblfameface where img_f_p='paid'";
con1 = new SqlConnection(conString1);
con1.Open();
SqlCommand cmd = new SqlCommand(getpaid, con1);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt1 = new DataTable();
da.Fill(dt1);
foreach (DataRow row in dt1.Rows)
{
string updatepaid = "update tblfameface set img_f_p='free' where img_f_p='paid' ";
con1 = new SqlConnection(conString1);
con1.Open();
SqlCommand cmd1 = new SqlCommand(updatepaid, con1);
int temp = cmd1.ExecuteNonQuery();
con1.Close();
}
}
我不知道如何解决它。
我可以得到任何帮助吗?
答案 0 :(得分:1)
除了“更新”查询之外,您的原型是可以的。重写您的更新查询,如
update tblx set status='y' where status=(select status from tblx where status='x');
根据您的要求:
string updatepaid = "update tblfameface set img_f_p='free' where img_f_p=(select top 2 img_f_p from tblfameface where img_f_p='paid')";
con1 = new SqlConnection(conString1);
con1.Open();
SqlCommand cmd1 = new SqlCommand(updatepaid, con1);
int temp = cmd1.ExecuteNonQuery();
con1.Close();
我希望它适合你。
答案 1 :(得分:0)
此处您的更新声明错误:
UPDATE <TABLE NAME> SET <Column> = <New Value> WHERE <Condition>
答案 2 :(得分:0)
在这里,你可以执行如下的单个更新语句。
UPDATE YourTable
SET status='Y'
WHERE status='X'
答案 3 :(得分:0)
答案 4 :(得分:-1)
更新tblx set status ='y',其中status ='x';