在一个表单form1中使用另一个表单form2中的adodataset,为什么会出错?
procedure TForm1.BitBtn1Click(Sender: TObject);begin
    
    form1.adodataset1.Open;
    form1.adodataset1.Edit;
    form1.adodataset1.FieldByName('课程名').AsString :=form_infor.combobox1.Text;
    form1.adodataset1.Post;
    form1.adodataset1.Close;
end;报错:field'课程名' cannot be modified

解决方案 »

  1.   

    什么数据库查查sql语句中是不是没加主键
      

  2.   

    请说清楚form_infor是你的form1还是form2
      

  3.   

    好象要在adodataset的前面注明是form2的
      

  4.   

    你应用了另一个form中的控件,有没有在程序头implementation后加上uese (使用form的名字)?
      

  5.   

    不好意思,写错了,正确的请见下面。
    没有设置主键,
    谢谢各位高手了procedure TForm1.BitBtn1Click(Sender: TObject);begin
        form2.adodataset1.Open;
        form2.adodataset1.Edit;
        form2.adodataset1.FieldByName('课程名').AsString :=form1.combobox1.Text;
        form2.adodataset1.Post;
        form2.adodataset1.Close;
    end;
      

  6.   

    这样的代码似乎没有问题的。
    奇怪了
    可能是数据库的权限问题?没有write权限?
      

  7.   

    你检查一下你的SQL语句,应该是他的问题。
    或者检查adodataset1.FieldByName('课程名').readonly这个属性。