这里的查询语句再加括号是什么意思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();不是只接收增删改吗,这几句前后怎么关联,麻烦高人分解的详细些 展开
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();不是只接收增删改吗,这几句前后怎么关联,麻烦高人分解的详细些 展开
1个回答
展开全部
是的,有很大关系,因为这段代码中
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语句后数据库中影响了多少行,即多少行被更新了。
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语句后数据库中影响了多少行,即多少行被更新了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询