使用Table来访问Sql中没有主健的表:(产生下面的问题)
比如使用下面的语句:
with table1 do
begin
first;
while not eof do
begin
edit;
fieldbyname('00').asstring := '00';
post;
next;
end;
end;
纪录只停留在第一条上,没有往下循环。并且会产生和第一条纪录相同的一条纪录(只是在显示界面上,没有真正的插到数据库中)。如果给此表加一个主健,则程序能正确的运行?注:如果使用ADOConnection , ADOTable 则不会出现上面的问题有知道的朋友吗?请帮忙!
比如使用下面的语句:
with table1 do
begin
first;
while not eof do
begin
edit;
fieldbyname('00').asstring := '00';
post;
next;
end;
end;
纪录只停留在第一条上,没有往下循环。并且会产生和第一条纪录相同的一条纪录(只是在显示界面上,没有真正的插到数据库中)。如果给此表加一个主健,则程序能正确的运行?注:如果使用ADOConnection , ADOTable 则不会出现上面的问题有知道的朋友吗?请帮忙!
用update 表 set 字段='0.00' 就可以嘛
begin
SQL.Clear;
SQL.Text := 'UPDATE yourTable SET yourField=''00'' ';
ExecSQL;
end;(注:用TADOQuery则不会出现上面的问题)
TQuery的使用方法与TADOQuery基本相同...
如果换ADOtable的话,工作量太大了。
with table1 do
begin
first;
while not eof do
begin
edit;
fieldbyname().asboolean := not fieldbyname().asboolean;
next;
end;
end;如果table1对应的表没有主健也是死循环。
但是如果table1对应的表有主健的话,可以执行。但是如果用adotable搭配adoconnection的话,没有主健也是可以执行的。
begin
SQL.Clear;
SQL.Text := 'UPDATE yourTable SET yourField=''00'' ';
ExecSQL;
end;