从一个表中读两个子段,a1,a2,读到TStringList,以提高数据查询的速度,谁有例子?
解决方案 »
- delphi 急!!!关于粘贴板的用法的。
- 关于DCOM服务器配置问题,急!!!
- 一个循环问题!在线等!!!解决问题立马给分!
- DELPHI5.0用EXCEL表格做数据源怎么实现?
- 为什么用QuickRep做的报表在EPSOONEPSON STYLUS COLOR 460中打印不出来啊?
- 关于integer类型动态数组的setlength问题?
- 在整个硬盘中查找所有的.DAT和.MPEG文件--欢迎高手指点
- 如何将一个动态字符串数组拷贝到另一个字符串中?!!
- web服务器应用程序设计里的一个小问题
- 有不少windows api函数在delphi的源文件中没有定义。
- 谁能详细说一下ADOTABLE,ADOQUERY的属性和方法。主要是操作数据库。
- 把一个普通的程序改成了一个服务程序
SLa1,SLa2:TStrings;
begin
SLa1:=TStringList.Create;
SLa2:=TStringList.Create;
with query1 do
begin
close;
sql.clear;
sql.add('select a1,a2 from MyTable');
open;
end; //with
query1.first;
while not(query1.eof) do
begin
SLa1.append(query1.FieldByName('a1').AsString);
SLa2.append(query1.FieldByName('a2').AsString);
query1.next;
end; //while
query1.close;
... //对Sla1, Sla2的操作
...
Sla1.free;
Sla2.free; //最后用完了不要忘了释放
end;
var
SLa1,SLa2:TStringList;//就是这里的问题
begin
SLa1:=TStringList.Create;
SLa2:=TStringList.Create;
with query1 do
begin
close;
sql.clear;
sql.add('select a1,a2 from MyTable');
open;
end; //with
query1.first;
while not(query1.eof) do
begin
SLa1.append(query1.FieldByName('a1').AsString);
SLa2.append(query1.FieldByName('a2').AsString);
query1.next;
end; //while
query1.close;
... //对Sla1, Sla2的操作
...
Sla1.free;
Sla2.free; //最后用完了不要忘了释放
end;
然后用Names[i]和Values[i]访问a1 a2
s.Add( yourTable.FieldByName('a1').AsString + '=' + yourTable.FieldByName('a2').AsString );
...使用s.Names[i] s.Values[i]例:访问对应a1值'aaa'的a2值 s.Values[s.IndexOfName('aaa')]
注意判断返回值,假设a1是唯一索引