读access数据库问题??? ( 积分: 100 )

  • 主题发起人 主题发起人 糖加咖啡
  • 开始时间 开始时间

糖加咖啡

Unregistered / Unconfirmed
GUEST, unregistred user!
我用下面代码读access中的记录:
close;
sql.Clear;
sql.Text:='select 证件号码 from jich ';
open;
if recordcount>0 then
begin
while not eof do
begin
mynum.Add(trim(fieldbyname('证件号码').AsString));
next;
end;
end
用下面语句把记录逐条写到文本:
for i:=0 to mynum.Count-1 do
begin
……
end
在文本里显示的是:
第一条记录:广西桂林市瓦窑西路2巷2号
第二条记录:广西桂林市瓦窑西路2巷2号
本来第一条记录的地址字段是空的,第二条记录的地址字段才是 广西桂林市瓦窑西路2巷2号
为什么会这样?是不是读数据库的顺序不对?可是我是按顺序读的啊,要怎么解决?哪位大侠知道,救救我啊,在此谢过了!!
 
我用下面代码读access中的记录:
close;
sql.Clear;
sql.Text:='select 证件号码 from jich ';
open;
if recordcount>0 then
begin
while not eof do
begin
mynum.Add(trim(fieldbyname('证件号码').AsString));
next;
end;
end
用下面语句把记录逐条写到文本:
for i:=0 to mynum.Count-1 do
begin
……
end
在文本里显示的是:
第一条记录:广西桂林市瓦窑西路2巷2号
第二条记录:广西桂林市瓦窑西路2巷2号
本来第一条记录的地址字段是空的,第二条记录的地址字段才是 广西桂林市瓦窑西路2巷2号
为什么会这样?是不是读数据库的顺序不对?可是我是按顺序读的啊,要怎么解决?哪位大侠知道,救救我啊,在此谢过了!!
 
哪位知道怎么回事,帮帮我啊?我qq 34455496 谢谢啦
 
能提供更多的信息吗?
 
close;
sql.Clear;
sql.Text:='select 证件号码 from jich ';
open;
if recordcount>0 then
First;
begin
while not eof do
begin
mynum.Add(trim(fieldbyname('证件号码').AsString));
mynum.Add(#10);
next;
end;
end
 
读数据没问题,是不是写数据出问题了
 
爱不到要偷兄说的,我加上去了,还是不行?

我的问题总的来说就是读数据库的时候好像不是按逐条记录的顺序
要怎么解决?
heavensoldier希望我提供什么信息?
谢谢各位了
 
应该是写的问题,可否将写文件部分贴出来呢? 另:Mynum是什么类型的变量?
 
mynum应该有个sort属性,你把它设为false就行了。另外查对一下mynum的下标是否从0开始。
 
有可能是写的问题。我是用函数写的:
F:textfile
function Tform10.ShfSupplyLeftZero(input:string; TableFieldName:string):String ;
var
DataSize,len,k,InputSize:integer;

begin

DataSize:=form4.Adotable1.FieldByName(TableFieldName).Size;
InputSize:=length(input);
len:=DataSize-InputSize;
if len>0 then
begin

for k:=1 to len do
begin
Write(F,'0');
end;
end;
Write(F, form4.Adotable1.FieldByName(TableFieldName).AsString);

end;
……
str:='帐户记录长度';
TableSupplyLeftZero(form2.DBEdit1.Text,str) ;
其中,mynum:Tstrings;
 
newsmile兄弟说的sort属性好像没有。其下标是从0开始没错。呵呵,还是没有解决,哪位高手知道怎么回事?
 
呵呵,我是第一次来这里,问一下怎么把分分 给各位啊?我的分不多,谢谢各位提供的方法!!
 
后退
顶部