首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

Tquery类的使用有关问题

2012-02-29 
Tquery类的使用问题1.连接SQLsever2000数据库时,如果数据库表中的数据有为text的类型,则执行不了查询。所写

Tquery类的使用问题
1.   连接SQL   sever2000   数据库时,如果数据库表中的数据有为text的类型,则执行不了查询。
所写语句如下:
query1.sql.text   =   'select   *   from   tableName ';
query1.Active   :=   true;
query1.first;
如果没有为text类型的字段就没有问题。

2.
取查询后结果集中每一条结果的字符串形式
query1.fields[0].asstring,通过循环可以按顺序取出,每次取一条
但是把str   :=   query1.fields[0].asstring   后,就不能按顺序取出结果了,每次都只输出第一条记录,出错代码如下:
query1.sql.text   =   'select   *   from   tableName ';
query1.Active   :=   true;
query1.first;
str   :=   query1.fields[0].asstring;
for   i   :=   0   to   query1.RecordCount-1     do
begin
showmessage(str);
end;
如果把字符串赋值的代码放入循环内,即:
query1.sql.text   =   'select   *   from   tableName ';
query1.Active   :=   true;
query1.first;
str   :=   query1.fields[0].asstring;
for   i   :=   0   to   query1.RecordCount-1     do
begin
str   :=   query1.fields[0].asstring;
showmessage(str);
end;
则循环一次输出第一条,循环第二次的时候输出第一条和第二条,到第query1.RecordCount-1次时才从第一条开始到最后一条把所有的结果输出来,

[解决办法]


query1.sql.text = 'select * from tableName ';
query1.Active := true;
query1.first;
while not query1.Eof do
begin
str := query1.fields[0].asstring;
showmessage(str);
Next;
end;

查询不用Select * ,取需要的字段就可以了 Select 字段名 From TableName

热点排行