记录为什么不能提交?

shangxuesong 2003-05-02 07:58:17
数据表的结构
picID int
name char(20)
height int
width int

//将数据加入添加入dbgride缓冲
procedure Tfrm_setPicture.btn_addClick(Sender: TObject);
begin
btn_add.Enabled := false;
query1.RecNo := query1.recordcount;
query1.RequestLive := true;
query1.InsertRecord([strtoint(edt_picid.text),edt_picname.text,strtoint(edt_picheight.text),strtoint(edt_picwidth.text)]);
query1.RequestLive := false;
btn_commit.Enabled := true;
btn_add.Enabled := false;
imgpic.Picture := nil;
edt_picid.Text := '';
edt_picname.Text := '';
edt_picwidth.Text := '';
edt_picheight.Text := '';
end;

// 将数据提交到后端库
procedure Tfrm_setPicture.btn_commitClick(Sender: TObject);
begin
dm.Database.StartTransaction;
try
query1.ApplyUpdates;
query1.CommitUpdates;
dm.Database.Commit;
except
application.MessageBox('处理数据有误,请重新添加','提示',mb_iconerror+mb_ok);
query1.CancelUpdates;
dm.Database.Rollback;
end;
end;


为什么提交时,总是提示PicId的类型出错,不能提交
...全文
24 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
shangxuesong 2003-05-03
  • 打赏
  • 举报
回复
to 飞龙
我确实忽略了这个问题
现在修改好了
问题解决了
zhangkeus 2003-05-03
  • 打赏
  • 举报
回复
可能是updatesql中的insertsql中只让插入picid
试试重新设置一下updatesql属性
shangxuesong 2003-05-03
  • 打赏
  • 举报
回复
忘了告诉大家
我还同时用了一个
updatequery
shangxuesong 2003-05-03
  • 打赏
  • 举报
回复
to 西域浪子
query1.RequestLive:=true;
我添加的有

to 虚竹
我在query的属性
已经设置cachedupdate 为真了

大家还有别的解决办法没有
heixiu1980 2003-05-02
  • 打赏
  • 举报
回复
picID是不是自增型字段?
那样是不能插入值的。
idilent 2003-05-02
  • 打赏
  • 举报
回复
不使用strtoint看看可以不?
ZbDerek 2003-05-02
  • 打赏
  • 举报
回复
在query1.RequestLive := true;前加入
query1.cachedupdate:=true;
jxc163 2003-05-02
  • 打赏
  • 举报
回复
如果用SQL语句直接添加,会有问题吗?
jiezhi 2003-05-02
  • 打赏
  • 举报
回复
query1.RequestLive := true;
shangxuesong 2003-05-02
  • 打赏
  • 举报
回复
不用strtoint也不行

picID不是自增型字段

现在问题是提交后,只有picID字段的值提交进去。
而其它的几个字段却没有提交成功,但是也不报错。

2,495

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧