with query1 do
  begin
    close;
    sql.Clear;
    sql.Add('update COURSE ');
    sql.Add('set  classroom ='''+edit1.Text +''',classtime ='''+edit2.Text+''',state=''3''');
    sql.Add('where ID ='''+query1['ID']+'''');
    execsql;
  end;
上面是我的代码
大家应该大概明白我的意思了吧,可是系统老是出错???
谁可以告诉我为什么哦

解决方案 »

  1.   

    with query1 do
      begin
        close;
        sql.Clear;
        sql.Add('update COURSE ');
        sql.Add('set  classroom ='''+edit1.Text +''',classtime ='''+edit2.Text+''',state=''3''');
        sql.Add(' where ID ='''+query1['ID']+'''');
        execsql;
      end;试试。还有你Query有没有连到数据库
      

  2.   

    绝对连接到了哦
    本来我就是设置query1.active:=true;
    对了,楼上你改了哪个地方阿?我怎么感觉不出来哦,^_^
      

  3.   

    CREATE PROCEDURE get_id
    (@jsource char(4),
     @jcurrent char(4)
    ) AS
    begin
    with query1 do
      begin
        close;
        sql.Clear;
        sql.Add('update COURSE ');
        sql.Add('set  classroom ='''''+edit1.Text +''''',classtime ='''''+edit2.Text+''''',state=3');
        sql.Add('where ID ='''''+query1['ID']+'''''');
        execsql;
      end;
      

  4.   

    不好意思:
    with query1 do
      begin
        close;
        sql.Clear;
        sql.Add('update COURSE ');
        sql.Add('set  classroom ='''''+edit1.Text +''''',classtime ='''''+edit2.Text+''''',state=3');
        sql.Add('where ID ='''''+query1['ID']+'''''');
        execsql;
      end;或:
    with query1 do
      begin
        close;
        sql.Clear;
        sql.Add('update COURSE ');
        sql.Add('set  classroom ="'+edit1.Text +'",classtime ="'+edit2.Text+'",state=3');
        sql.Add('where ID ="'+query1['ID']+'"');
        execsql;
      end;试试!
      

  5.   

    大哥,这种风格我从来没有见过哦?
    我是照着书上敲的,就是那本程豫龙的delphi6数据库系统开发实例导航的102页
    可是总是有问题,书上的风格都是一种哦,我可从来没见过你这种风格
      

  6.   

    'set  classroom ="'+edit1.Text +'",classtime ="'+edit2.Text+'",state=3'对于delphi中嵌套的sql也可以用这种格式啊,我同意“大力”的改法
      

  7.   

    query1['ID'] 这个改成query1['ID'].asinteger  看看,还有看一看里面的单引号是不是对了,DELPHI中,如果要加入一个单引号,要用两个单引号代替
      

  8.   

    query1['ID'] 这句错了,不能这样用法,你换另一个query吧
      

  9.   

    ls_str:=query1.fieldbyname('id').asstring;
    with query1 do
      begin
        close;
        sql.Clear;
        sql.Add('update COURSE ');
        sql.Add('set  classroom ='''+edit1.Text +''',classtime ='''+edit2.Text+''',state=''3''');
        sql.Add(' where ID ='''+ls_str+'''');
        execsql;
      end;
      

  10.   

    query1['ID']<<====这是什么东西?
      

  11.   

    blueshu同学
    ,query没有 fieldbyname 这个属性哦
      

  12.   

    关键是我前面写的代码的没有错哦
    把对的改对,有啥子意思
    关键是把错的找出来嘛
    我也以为是query['id ']错了,可是怎么改了
      

  13.   

    query有 fieldbyname 这个属性,每个都有的,这只是DELPHI的BUG,你写的时有时候它显示,有时候不显示,不过你照样写进去,没事的。。