可以循环选择数据然后保存到数据集里吗?该怎么处理
可以循环选择数据然后保存到数据集里吗?
可以循环选择数据然后保存到数据集里吗?
我想在一个循环内把数据选出来,然后再在dbgrid里显示。
但是似乎只是执行最后一条sql。
------解决方案--------------------
使用数据库的 "书签 "TBookMark
var
bm:TbookMark;
begin
bm:=qr.getbookmark;
qr.next;
.............
q1.gotobookmark(bm);
qr.FreeBookmark(bm);
如果是需要多次记录,可以将bookmark存入TstringList
不过注意,
D5 的声明TBookmark = Pointer; bookmark是指针;
D7Bookmark是string;
还有不要再数据集刷新后使用刷新前定义的BookMark,可能会出错(borlands说的).
------解决方案--------------------
sqlstr:= ' ';
for I := 1 to 10 do
if ckbox[I].Checked then sqlstr:=sqlstr+ ' or age= '+inttostr(I);
with DM_Main.Q1 do
begin
Close;
SQL.Clear;
SQL.Text := 'Select Name,TelNum from tb1 where 1=2 '+sqlstr;
Open;
end;
可以循环选择数据然后保存到数据集里吗?
我想在一个循环内把数据选出来,然后再在dbgrid里显示。
但是似乎只是执行最后一条sql。
------解决方案--------------------
使用数据库的 "书签 "TBookMark
var
bm:TbookMark;
begin
bm:=qr.getbookmark;
qr.next;
.............
q1.gotobookmark(bm);
qr.FreeBookmark(bm);
如果是需要多次记录,可以将bookmark存入TstringList
不过注意,
D5 的声明TBookmark = Pointer; bookmark是指针;
D7Bookmark是string;
还有不要再数据集刷新后使用刷新前定义的BookMark,可能会出错(borlands说的).
------解决方案--------------------
sqlstr:= ' ';
for I := 1 to 10 do
if ckbox[I].Checked then sqlstr:=sqlstr+ ' or age= '+inttostr(I);
with DM_Main.Q1 do
begin
Close;
SQL.Clear;
SQL.Text := 'Select Name,TelNum from tb1 where 1=2 '+sqlstr;
Open;
end;