procedure TForm1.Button1Click(Sender: TObject);
begin
  ADOTable1.Edit;
  ADOTable1.FieldByName('UserName').AsString := Edit1.Text;
  ADOTable1.FieldByName('PassWord').AsString := Edit2.Text;
  ADOTable1.Post;
end;这段代码 运行后出错 说是不能在关闭DataSet的情况下运行该操作 是不是用ADOTable需要用ADODataSet ?
还有 ADOTable1.Post是什么意思?

解决方案 »

  1.   

    要先OPEN再能进行你下面的这些代码运行..不然就会提示不能在打开一个关闭的数据集进行操作
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      ADOTable1.Edit;
      ADOTable1.FieldByName('UserName').AsString := Edit1.Text;
      ADOTable1.FieldByName('PassWord').AsString := Edit2.Text;
      ADOTable1.Post;
      ADITable1.Open;
    end;
    这样? 还是不行 
      

  3.   

    晕,什么叫做先OPENprocedure TForm1.Button1Click(Sender: TObject);
    begin
      ADITable1.Open;
      ADOTable1.Edit;
      ADOTable1.FieldByName('UserName').AsString := Edit1.Text;
      ADOTable1.FieldByName('PassWord').AsString := Edit2.Text;
      ADOTable1.Post;
      
    end;
      

  4.   

    提供TableName属性.
    大哥,你应该好好看看书!
      

  5.   

    很明显楼主不是太善于思考。
    你知道ADOTable表示数据库中的一个表吧,它到底表示哪个表你有没有告诉它?难道你不告诉它它还能猜出来?
    Open的意思不用说也知道,你把Open放到Post后面算什么意思呢?
    不过,如果你第一次编程,出这种情况还是比较正常的。
      

  6.   

    http://ynwuzhe.blog.163.com/blog/static/26253553200792185613310/楼主去看看 你表都没指定  怎么POST啊  上面网址讲的比较细
      

  7.   

    adoq1.SQL.Clear ;
    adoq1.SQL.Add('update jldw set 计量单位=:jldw,说明=:sm where 单位编码=:dwbm');
    adoq1.parameters.ParamByName('dwbm').value :=form4.edit1.text;
    adoq1.parameters.ParamByName('jldw').value :=form4.edit2.text;
    adoq1.Parameters.ParamByName('sm').Value :=form4.edit3.Text;
    adoq1.ExecSQL ;