我想用edit1 edit2实现数据的修改
可是系统无法获得通过!
用这种方式解决,可是系统说query找不到ID字段,下面的没有错哦
 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.parambyname('ID').asstring+'''');
    prepare;
    open;
end;
谁救救我哦

解决方案 »

  1.   

    with query1 do
      begin
        close;
        sql.Clear;
        sql.Add('update COURSE set ');
        sql.Add(' classroom=:classroom,classtime=:classtime,state=''3'' ');
        sql.Add('where [ID] =:id');
        parambyname('classroom').asstring:=edit1.Text;
        parambyname('classtime').asstring:=edit2.Text;
        parambyname('id').asstring:=edit3.Text;
        prepare;
        open;
    end;
      

  2.   

    with query1 do
      begin
        close;
        sql.Clear;
        sql.Add('update COURSE ');
        sql.Add('set  classroom =' + QuotedStr(edit1.Text) + ',classtime =' + QuotedStr(edit2.Text) + ',state=' + QuotedStr('3'));
        sql.Add(' where [ID] =' ' + QuotedStr(query2.parambyname('ID').asstring));
        execsql;
    end;注:
    //不能把
    sql.Add(' where [ID] =' ' + QuotedStr(query2.parambyname('ID').asstring));
    写成如下
    sql.Add(' where [ID] =' ' + QuotedStr(query1.parambyname('ID').asstring));//query1
    //要不你另想办法得到该条件值.
      

  3.   

    上面的
    sql.Add(' where [ID] =' ' + QuotedStr(query2.parambyname('ID').asstring));
    改为
    sql.Add(' where [ID] =' + QuotedStr(query2.parambyname('ID').asstring));
      

  4.   

    刀崽兄
    可不可以告诉我 你到哪里学到的这么专业的 delphi知识啊?
    介绍本好书撒  ^_^
      

  5.   

    query1.parambyname('ID').asstring 怎么有这个 的
    这样
    query1.fieldbyname('ID').asstring
      

  6.   

    //
    var
      vIndex : String;
    begin  ...
      ...
      vIndex := 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 ='''+vIndex+'''');
        prepare;
        open;
      
    end;
      

  7.   


    我想用edit1 edit2实现数据的修改
    可是系统无法获得通过!
    用这种方式解决,可是系统说query找不到ID字段,下面的没有错哦
     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.parambyname('ID').asstring+'''');
        prepare;
        open;
    end;
    倒数第四行的   query1.parambyname('ID').asstring+'''');  错了
    query1.fieldbyname('ID').asstring+'''');