我一条一条删除一个表中的记录,代码如下:
whiele not adodataset1.eof do
begin
delete;
next;
end;
问题是:当adodataset1中的记录没空值时,正常。一但某值为空,就显示:adodataset1:not in edit or insert mode.这意思我懂,是说adodataset1不在编辑或插入模式这下。可这是删除呀,匡切在没空值时正常。请老大帮忙。
whiele not adodataset1.eof do
begin
delete;
next;
end;
问题是:当adodataset1中的记录没空值时,正常。一但某值为空,就显示:adodataset1:not in edit or insert mode.这意思我懂,是说adodataset1不在编辑或插入模式这下。可这是删除呀,匡切在没空值时正常。请老大帮忙。
解决方案 »
- delphi7安装第三方控件时遇到的怪问题,请教各位高手指点一下
- 能让TListView的第二个以上的单元格显示为Checkbox类型????
- 窗体逶明????
- 用FastReport做自定义报表现实吗?
- 如何用format函数把得到的日期格式如“03-11-12”变成“2003-11-12”?
- " list index out of bounds(0)"是什么意思
- 怎么知道哪个进程正在运行?
- 老千,上次的那个rose下载网站,你还记得吗?偶忘了,搜索了几遍野没找到//牛虻
- 请问在TADODataset中加入一条记录代码该如何写
- 让我们共同开发一个画图应用软件,我已完成了一部分功能,难得还在后面呢,delphi高手们,还等什么,进来吧,一起研究吧。
- 怎么才可以使用 IPX 协议???
- FastReport控件打印 StringGrid 示例的疑惑
问题是:当adodataset1中的记录没空值时,正常。一但某值为空,就显示:adodataset1:not in edit or insert mode.这意思我懂,是说adodataset1不在编辑或插入模式这下。可这是删除呀,匡切在没空值时正常。请老大帮忙。
*********************************************************************************
“某值为空” 什么意思?
是记录为空? 还是一条记录的某个字段为空?
估计是你的数据库的那个字段不允许为空吧while not adodataset1.eof do
begin
delete;
end;
if (active = false) or (recordcount = 0) then
showmessage('记录为空,不能删除操作!');
begin
delete;
next;
end;
改成这样看看
whiele not adodataset1.eof do
begin
delete;
end;
begin
If AdoDataSet1.RecordCount<=0 then
Break;
delete;
end;
Close;
Sql.Clear;
sql.Add ('Delete * from DataDict ');
ExecSQL ;
end;
要想清空表 用turncate table xx这样安全也快得多
whiele not adodataset1.eof do
begin
delete;
end;