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;
如果没有为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.Active := true;
query1.first;
while not query1.Eof do
begin
str := query1.fields[0].asstring;
showmessage(str);
Next;
end;查询不用Select * ,取需要的字段就可以了 Select 字段名 From TableName