在delphi中怎样删除DBImage对应记录的照片字段(二进制数据)?

Tomato77 2005-06-01 05:57:42
在delphi中怎样删除DBImage对应记录的照片字段(二进制数据)?
数据库为 Access .

1.我用SQL语句: update table1 set image = null ,这样写,操作成功,但在程序界面未能马上看到图片被删除,要手动耍新或重启程序才看到效果.

以下是代码
procedure TfrmMain.NDelImageClick(Sender: TObject);
begin
ChName := Trim(DBEdtChName.Text); // 变量 ChName 存放主键

ADOQMain.Active := false; // ADOQMain 用作查询数据,

ADOQDelImage.Active := false; // ADOQDelImage 用作删除照片.
ADOQDelImage.SQL.Clear;
ADOQDelImage.SQL.Add(' UPDATE table1 SET [Image] = null WHERE [ChName] = ''' + ChName + '''');
ADOQDelImage.ExecSQL;
sleep(200);
ADOQMain.Active := false;
ADOQMain.SQL.Clear;
ADOQMain.SQL.Add('select * from AddrList');
ADOQMain.Active := true;
end;



2.另外还有一个问题,假如删除后,怎样把指针定位在刚刚被删除图片所在的记录?

...全文
106 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tomato77 2005-06-03
  • 打赏
  • 举报
回复
ADOQMain.Refresh; 尝试加过,没用.
naner_china 2005-06-02
  • 打赏
  • 举报
回复
错了
加个Refresh就行了
naner_china 2005-06-02
  • 打赏
  • 举报
回复
update 语句
update tanle set field = null
Tomato77 2005-06-02
  • 打赏
  • 举报
回复
谢谢.
但改了还是不行,即使加入DBImage1.Picture := nil; 仍然要手动刷新或重启程序才生效.
还有就是,在刚添加完一图片后马上又把它删除时,就有错误,提示: "找不到...\XX.mdb", 也就是找不到刚刚添加的图片所在目录下的数据库文件,而我的数据库文件根本就不放在该目录下,而是放在应用程序的同一目录,为什么会有这中情况呢?
江山易改 2005-06-01
  • 打赏
  • 举报
回复
如果只是做修改,那么下面的代码是没有必要的。
ADOQMain.Active := false;
ADOQMain.SQL.Clear;
ADOQMain.SQL.Add('select * from AddrList');
ADOQMain.Active := true;
江山易改 2005-06-01
  • 打赏
  • 举报
回复
过程中加入一句
DBImage1.Picture := nil;
亮剑_ 2005-06-01
  • 打赏
  • 举报
回复
用流操作,搜一下以前的帖子,应该有很多的
Tomato77 2005-06-01
  • 打赏
  • 举报
回复
更正:
倒数第四行 ADOQMain.SQL.Add('select * from AddrList'); // AddrList 改为 table1

2,496

社区成员

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

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