无法修改字段num_med



我已将此代码放在 speedbutonclick 中,但是当我尝试执行它时,我收到消息说字段num_med无法修改 代码是

procedure TAddEdiMedForm.SpeedButton1Click(Sender: TObject);
begin
DM.MedicamentTable.InsertRecord([ Edit1.Text, Edit2.Text, Edit3.text,
Edit4.Text, Edit5.Text, Edit6.Text, 
Edit7.Text]);
CloseModal;                                              
end;

问题是尝试为 AutoInc 字段插入值,您正在尝试使用InsertRecord语句执行此操作。插入新行后,您需要检索 AutoInc 值(从服务器(,而不是尝试从客户端强制值!

由于在添加新行时无法为 AutoInc 字段指定值,因此需要避免使用InsertRecord。 相反,对数据集调用Insert,通过单个赋值语句填充其他(非 AutoInc(字段,然后调用Post。 如何最好地检索AutoInc值取决于后端服务器,尽管FireDAC通常可以很好地为您执行此操作 - 查找如何从联机帮助中获取值或谷歌它。

您应该提到Num_med字段是 q 中的 AutoInc,而不是轻率地说它是注释中的Int字段,以回复您首先应该提供的信息查询。 将来,请在最初的问题中包含所有相关信息,从而为读者考虑一下。

最新更新