程序运行的时候报错:
Project1 client1.exe raised exception class EdatabaseError with message'ADOTable1:Cannot perform this operation on a closed dataset'.Process stopped……'
相关源代码为:
 if Form_database.ADODataSet1.Active=true then
        begin
           Form_database.ADODataSet1.First;
           Form_database.ADODataSet1.Recordset.Close;
           Form_database.ADODataSet1.Close;
        end;
        Form_database.ADODataSet1.Open;
        Form_database.ADODataSet1.Active:=true;
        Form_database.ADOTable1.Append;
        Form_database.ADOTable1.FieldByName('UserID').AsInteger:=strtoint(Edit2.Text);
        Form_database.ADOTable1.FieldByName('Name').AsString:=trim(Edit1.Text);
        if(authority=1) then
        Form_database.ADOTable1.FieldByName('Role').AsString:='Admin'
        else Form_database.ADOTable1.FieldByName('Role').AsString:='User';
        Form_database.ADOTable1.FieldByName('passwords').AsString:=trim(Edit3.Text);
        Form_database.ADOTable1.Post;
向各位高人求助哪里的数据库没打开呢?

解决方案 »

  1.   

    if Form_database.ADODataSet1.Active=true then
            begin
               Form_database.ADODataSet1.First;
               Form_database.ADODataSet1.Recordset.Close;
               Form_database.ADODataSet1.Close;
            end;
            Form_database.ADODataSet1.Open;
            Form_database.ADODataSet1.Active:=true;以上操作的都是ADODataSet1,怎么下面都成了Form_database.ADOTable1 ?
    而且你也没有必要执行下面的两句话啊,执行其中的任何一个就行了.
    Form_database.ADODataSet1.Open;
            Form_database.ADODataSet1.Active:=true;