ComboBox添加数据库字段(50)

  • 主题发起人 主题发起人 爱情魔咒
  • 开始时间 开始时间

爱情魔咒

Unregistered / Unconfirmed
GUEST, unregistred user!
兄弟们帮看一下这段代码:procedure TfrmLogin.FormActivate(Sender: TObject);var adoQuery2:TAdoQuery; i,count:Integer;begin adoQuery2:=TADOQuery.Create(self); adoQuery2.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/delphi learn/超市/date/super.mdb;Persist Security Info=False'; adoQuery2.Active:=False; adoQuery2.Close; adoQuery2.SQL.Clear; adoQuery2.SQL.Add('select * from use_t'); adoQuery2.Open; adoQuery2.Active:=True; count:=adoQuery2.RecordCount; cbName.Items.clear; if count>0 then begin for i:=0 to count-1 do begin cbName.Items.Add(adoQuery2.Fields[1].AsString); adoQuery2.Next; end; end; cbName.ItemIndex:=0; FreeAndNil(adoQuery2);end;为什么运行时老是提示Bof Eof 其中一个是真,或者当前记录已被删除,所需要的操作要求一个当前记录 的错误 这是为什么啊?我用的是Delphi5啊 只有50分了不好意思
 
procedure TfrmLogin.FormActivate(Sender: TObject);var adoQuery2:TAdoQuery;begin adoQuery2:=TADOQuery.Create(self); adoQuery2.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/delphi learn/超市/date/super.mdb;Persist Security Info=False'; adoQuery2.SQL.Text:='select * from use_t'; adoQuery2.Open; cbName.Items.clear; while not adoQuery2.Eof do begin cbName.Items.Add(adoQuery2.Fields[1].AsString); adoQuery2.Next; end; cbName.ItemIndex:=0; FreeAndNil(adoQuery2);end;婆娘,代码不要这么啰嗦行不?
 
楼上的代码即可实现~~
 
各位大哥还是不行啊 一运行到FreeAndNil(adoQuery2) 就会报Bof Eof 其中一个是真,或者当前记录已被删除,所需要的操作要求一个当前记录 的错误 这是怎么回事啊 是不是我用的Delphi5 的原因啊
 
procedure TfrmLogin.FormActivate(Sender: TObject);var adoQuery2:TAdoQuery;begin adoQuery2:=TADOQuery.Create(self); adoQuery2.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/delphi learn/超市/date/super.mdb;Persist Security Info=False'; adoQuery2.SQL.Text:='select * from use_t'; adoQuery2.Open; cbName.Items.clear; if Recordcount =0 then exit; FINDFIRST; REPEAT cbName.Items.Add(adoQuery2.Fields[1].AsString); UNTIL FINDNEXT = FALSE; cbName.ItemIndex:=0; adoQuery2.Free;end;这样就OK了
 
你是不是用的D6呀,如果是D6那是你缺少补丁包。D6_upd1_ent 或者d 6_update2 都可以的。
 
各位老大实在不好意思 给你们添麻烦了啊 现在是运行到 repeat until 取到最后一个记录是有抛出同样的错误啊 这么简单的程序 搞得麻烦啊
 
为什么运行时老是提示Bof Eof 其中一个是真,或者当前记录已被删除!在D5中看到这种信息,一般是由于ADO组件没升级导致的,D5的ADO不完美,需要升级。
 
怎么升级啊 各位老大给点提示啊
 
各位大侠 我用的是 sp2 谁有升级的可不可以发一份啊 网上 都不能下载啊 邮箱是 alang_winner@163.com
 
你不可以升级一下,用d7或者d2009吗?为什么要用d5?
 
你应该用: while not adoQuery2.Eof do begin cbName.Items.Add(adoQuery2.Fields[1].AsString); adoQuery2.Next; end;循环,而不应该用for循环,这样很不合适.
 
adoQuery2 释放前, 没有关闭连接?
 
这确实是ADO出的问题。没有找到升级包的话,你惨了。
 
这个问题 在编译运行时 会出现错误的 但是在编译完了 在文件中运行 exe 不会出现错误的啊 谢谢各位!!!
 
接受答案了.
 
后退
顶部