我要增加一条图书记录,但老出现
ADOQuery:Dataset not in edit or insert mode的错误,大家帮忙啊!
with ADOQuery_Book do
begin
Append;
DBEdit_BookID.SetFocus;
DBEdit_BookID.Text:= IntToStr(PublicFunction_Form.GetFitNum('BookID',
'Select BookID from Lab_Book_Manage where BookID<>-1 Order By BookID ASC'));
DBEdit_BookName.SetFocus;
FieldByName('BookStatus').AsString:='未借';
Post;
end;
ADOQuery:Dataset not in edit or insert mode的错误,大家帮忙啊!
with ADOQuery_Book do
begin
Append;
DBEdit_BookID.SetFocus;
DBEdit_BookID.Text:= IntToStr(PublicFunction_Form.GetFitNum('BookID',
'Select BookID from Lab_Book_Manage where BookID<>-1 Order By BookID ASC'));
DBEdit_BookName.SetFocus;
FieldByName('BookStatus').AsString:='未借';
Post;
end;
,SetFocus也别调了,没啥用吧
应该不需要吧。直接用对象名.AsString就可以了吧。另外,你的ID数据类新应该是uniqueidentifier吧?
with ADOQuery_Book do
begin
Append;
FieldByName('BookID'").AsString:= IntToStr(PublicFunction_Form.GetFitNum('BookID','Select BookID from Lab_Book_Manage where BookID<>-1 Order By BookID ASC'));
FieldByName('BookStatus').AsString:='未借';
Post;
end;
单独用个adoQuery_book.sql.text来存,
adoquery_book.close;
adoquery_book.sql.clear;
adoquery_book.sql.text :=''Select BookID from Lab_Book_Manage where BookID<>-1 Order By BookID ASC';
adoQuery_book.open;
...继续下面的给FieldByName('BookID')赋值
if not (datasource1.state in [dsinsert])
adoquery_book.insert;