adoquery1 dataset not in edit or insert mode,不知道什么原因……
我用delphi中的控件:adoquery1,datasource,dbgrid连接数据库,其属性设置分别为
Adoquery1 Connectionstring= Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=如家宾馆信息系统管理与实现;Data Source=PC-201105111226
SQL语句:select * from 订单管理,客房信息表 where 订单管理.房号=客房信息表.房号
Active=true
Datasource1 Dataset=adoquery1
dbgrid Datasource=datasource1
异常提示:每当调用SQL的update or insert 方法是总提示:adoquery1 dataset not in edit or insert mode,不知道什么原因……
程序代码如下:
case Radiogroup1.ItemIndex of
0:
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select PO,订单管理.身份证号,订单管理.姓名,订单管理.联系方式,订单管理.房号,订单管理.押金,状态,备注 from 订单管理,客房信息表,客户信息表 where 订单管理.房号=客房信息表.房号 and 客房信息表.房号=客户信息表.房号 and PO='''+edit1.text+''' and 订单管理.身份证号='''+edit12.text+'''');
adoquery1.Open;
//核对信息无误后,将预订订单转化成正式订单
adoquery1.edit;
adoquery1.FieldByName('状态').AsString:='满' ;
adoquery1.FieldByName('备注').AsString:='已登记入住' ;
adoquery1.SQL.Add('Insert into 订单管理(入住日房价,所交定金) values('+quotedstr('edit14.text')+','+quotedstr('edit15.text')+')');
adoquery1.ExecSQL;
adoquery1.Post;
//将PO号装换成正式订单PO号,使用字符串替换
if(edit14.text='') or (edit15.text='') then
showmessage('请填入入住日房价或所交定金')
else showmessage('注册登记成功');
end;