您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Delphi >> 数据库中添加记录

数据库中添加记录

来源:网络整理     时间:2016/8/10 21:08:39     关键词:

关于网友提出的“ 数据库中添加记录”问题疑问,本网通过在网上对“ 数据库中添加记录”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 数据库中添加记录
描述:

我使用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

相关图片

相关文章