form上有个dbgrid控件,我想实现的功能是,在表格中点击时出现picklist下拉菜单,picklist中的内容是该列对应数据库中的内容,我在网上找了一段程序,程序如下:
procedure TForm1.FormShow(Sender: TObject);
begin
with dm.ADOQuery1 do
begin
dm.ADOQuery1.Close;
dm.ADOQuery1.SQL.Clear;
dm.ADOQuery1.SQL.Add('select * from xue');
dm.ADOQuery1.Open;
end;
while not (dm.ADOQuery1.Eof) do
begin
dbgrid1.Columns[0].PickList.AddObject(dm.ADOQuery1.Fields[0].AsString);
next;
end;
end;
其中数据库中保存三段数据,ID,name,time
运行之后程序就死掉了,还占用了很大的内存,请问我的程序是否正确,如不正确请帮助改下 多谢
procedure TForm1.FormShow(Sender: TObject);
begin
with dm.ADOQuery1 do
begin
dm.ADOQuery1.Close;
dm.ADOQuery1.SQL.Clear;
dm.ADOQuery1.SQL.Add('select * from xue');
dm.ADOQuery1.Open;
end;
while not (dm.ADOQuery1.Eof) do
begin
dbgrid1.Columns[0].PickList.AddObject(dm.ADOQuery1.Fields[0].AsString);
next;
end;
end;
其中数据库中保存三段数据,ID,name,time
运行之后程序就死掉了,还占用了很大的内存,请问我的程序是否正确,如不正确请帮助改下 多谢
解决方案 »
- 关于数据库主体、镜像故障自动转移后ADO 的ConnectionString配置问题。在线等~~~
- 终于盼到星星了, 散分一周庆祝一下(5)
- WINVER400 WINVER401 是在DELPHI的哪里定义的?
- 大侠们帮帮小弟忙.可以说一下TreeView和ListView的属性,参数等方面的知识吗?
- 急救!急救!急救!急救!急救!急救!急救!
- 如何实现监控某程序运行窗口内出现关键字后,关闭程序或是重启计算机?
- 数据刷新,窗体传递变量、showmessage。100分,如果不够,再开贴给分。
- ●● 哪里有OpenGL控件下载 ●●
- 如何将数据库中的数据导入到Excel中?
- 如何将程序加入到鼠标右键中
- 自定义组件动态调用窗体的问题?
- Delphi 存储过程 Execproc Stack overflow
应该改成dm.adoquery1.next;
因为你的这个语句没有在with adoquery do这个里面.
这句改成楼上所说的.