把 房间号(RoomComboBox.Text)写入数据库,我是这样写的:
sql.add('update 定单信息 set 预定房间='''+RoomComboBox.Text+'''where 定单号码='''+OrderIDLabel.Caption+'''');
竟然不对,写入数据库为空值,也就是没写入
作为测试,写为:sql.add('update 定单信息 set 预定房间=''房间一''where 定单号码='''+OrderIDLabel.Caption+'''');
是对的,写入的是 房间一
不知道我的写法怎么不对

解决方案 »

  1.   

    再问一个,现在有两个了,呵呵想实现 食品总数 的值减 1, 这是我写的,是错的,不知道该怎么写
    sql.add('update 食品信息 set 食品总数=食品总数-1 where 食品名称='''+SelectFoodListBox.Items[i]+'''');
      

  2.   

    我帮你修改如下:
    var
      sqlstr:string;你的第一个:
    sqlstr:=' update 定单信息 set 预定房间="' + RoomComboBox.Text + '"  
     where 定单号码="' + OrderIDLabel.Caption + '"';sqlstr:='update 食品信息 set 食品总数=食品总数-1 where 食品名称="' + SelectFoodListBox.Items[i] + '"'然后在sql语句后分别加上:
    with query1 do
      begin
        close;
        sql.clear;
        sql.add(sqlstr);
        open;
      end;
    就能执行了。这里主要是单双引号的问题。
    我习惯于把sql语句单独写好,再去执行,这样比较好读,你试试吧。
      

  3.   

    sql.add('update 定单信息 set 预定房间='''+RoomComboBox.Text+'''  where 定单号码='''+OrderIDLabel.Caption+'''');
    把这段copy -->paste