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
运行之后程序就死掉了,还占用了很大的内存,请问我的程序是否正确,如不正确请帮助改下  多谢