关于网友提出的“ 数据库中添加记录”问题疑问,本网通过在网上对“ 数据库中添加记录”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 数据库中添加记录
描述: 我使用Delphi做有关数据库的软件,向数据库添加记录时报错说:"Q_addnote:cannot perform this operation on a closed dataset".
代码如下:
Q_addnote.Close;
Q_addnote.SQL.Clear;
Q_addnote.Append;
Q_addnote.FieldByName('date').AsString:=Date_str;
Q_addnote.FieldByName('type').AsString:=Type_str;
Q_addnote.FieldByName('subdiv').AsString:=Subdiv_str;
Q_addnote.FieldByName('money').AsString:=Money_str;
Q_addnote.Open;
Q_addnote.Post;
不知是什么原因,情高手帮下忙,谢谢!
解决方案1: Q_addnote.Append;此操作必需在数据集打开的情况下操作
解决方案2: adoquery1.Open;
with adoquery1 do
begin
try
append;
FieldByName('部门代码').AsString:=edit1.Text;
FieldByName('部门名称').AsString:=edit2.Text;
fieldbyname('状态').AsString:=s;
post;
showmessage('新的部门己经添加成功!');
adoquery1.Close;
except
cancel;
showmessage('对不起,新的部门数据末能添加,添加失败!');
adoquery1.Close;
close;
解决方案3: Q_stat.SQL.Add('update type A,total B set A.stat=(select sum(B.[money]) from B where A.subdiv = B.subdiv and B.[date] between '+quotedstr(Edit2.Text)+' and '+quotedstr(Edit3.Text)+')');
解决方案4: 1.你的Query是关闭的,也就是说存放数据的那块内存是只读的,你怎么能Append进去?
2.Update语句更新时,由于记录没有主键,从而导致出错
以上介绍了“ 数据库中添加记录”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3197414.html