为什么当我想删除当前行时,系统告诉我“Table Is Read-Only”?(Access)(10分)

L

lixx

Unregistered / Unconfirmed
GUEST, unregistred user!
我用Query查询以后,想用Query删除当前行(在Dbgrid中显示)

IF MessageDlg('真的要删除这一行记录吗?',mtInformation,[mbok,mbcancel],0)=mrok then
Query1.delete;
这样就出错,说是“Table Is Read-Only”(Access数据库)
如果解决这个问题?
在哪个地方改?
 
加上SQL.CLEAR;
 
就ACCESS数据库而言,也可能是ACCESS打开只是用只读方式
 
我是这么做的:
procedure TForm1.QueryClick(Sender: TObject);
begin
with query1 do
begin
close;
sql.Clear;
sql.Add('select * from test');
Open;
end;
end;

procedure TForm1.DeleteClick(Sender: TObject);
begin
IF MessageDlg('真的要删除这一行记录吗?',mtInformation,[mbok,mbcancel],0)=mrok then
Query1.delete;
end;
>>moses1999
加上SQl.clear;好像也不行。

>>就ACCESS数据库而言,也可能是ACCESS打开只是用只读方式
不会吧?如果是该怎么改成可以修改的方式呢?
那我删除当前行怎么办?
用 delete ... where... ?
 
连接ACCESS数据库你为什么不用ADOExpress呢?
 
查看你的query的RequestLive属性.
 
我是初学者,不过我也遇到过你这样的问题。我的那个原因是把table设置成只读了,你看看
你的是不是也是同样的错误
 
楼上说的RequestLive
 
把Query的RequestLive属性改为True就行了
 
不要用查询,用记录集吧。打开时不要选只读即可。
 
分实在太少了(我实在没有分了),请各位见谅!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
769
import
I
I
回复
0
查看
754
import
I
S
回复
0
查看
846
SUNSTONE的Delphi笔记
S
顶部