这里的查询语句再加括号是什么意思Format("(select....))",) 不加就报错,莫非跟后面的那条更新SQL有关系

stringid=string.Format("(selectidfromOrderInfowhereFlightNo='{0}'andLeaveDate='{1}')"... string id = string.Format("(select id from OrderInfo where FlightNo='{0}' and LeaveDate='{1}')", txtHangBanNo.Text, txtDate.Text);
sql = string.Format("Update OrderInfo set Number={0} where id={1} ", bookedSeatNum, id);
cmd = new SqlCommand(sql, DBHelper.conn);
int count = cmd.ExecuteNonQuery();
if (count > 0)
{
MessageBox.Show("预定成功!");

问题补充:

Format("(select....))",) 又加的括号到底什么含义,不明白,cmd = new SqlCommand(sql, DBHelper.conn);的sql包容查询?给了最后面的int count = cmd.ExecuteNonQuery();不是只接收增删改吗,这几句前后怎么关联,麻烦高人分解的详细些
展开
 我来答
直男救星来了
2010-10-04 · TA获得超过673个赞
知道小有建树答主
回答量:168
采纳率:100%
帮助的人:203万
展开全部
是的,有很大关系,因为这段代码中
sql = string.Format("Update OrderInfo set Number={0} where id={1} ", bookedSeatNum, id);
把第一个sql语句格式化到了第二个SQL语句中,实际上第二句变成了
Update OrderInfo set Number={0} where id=(select id from OrderInfo where FlightNo='{0}' and LeaveDate='{1}')
当然,其中的{0}、{1}都是要被相应的变量替换掉的。如果不加()自然会出错。
整个程序实际上就是格式化一个SQL语句,并生成一个command对象,执行该SQL语句。
int count = cmd.ExecuteNonQuery();得到的是执行该SQL语句后数据库中影响了多少行,即多少行被更新了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式