我有一程序,我在数据库中新加了一张表FLCP 有三个字段 分别为 LPCODE ,LPNAME,LPBEIZHU
在程序应用界面中已实现了对表FLCP的数据录入等基本功能,现在是想在某一窗体中增加一个combobox1下拉列表控件,在打开窗体时,动态显示出表FLCP中的字段LPNAME的数据,我看了网上有好多例子,不过不太明白,因为我是新手,combobox1.items.add('字段名称');
这种方式实在是看不懂,怎么让combobox1从数据表FLCP中显示LPNAME字段内容,所以在这里详细说明情况问题,请高手指点,给出完整代码来实现,还有是否要增加什么控件,比如adoquery1这种,那是否有相关属性要设置什么的,总之,请求大家实现指点的时候,尽量完整,增加什么控件,如何设置对应属性,等
在此拜谢,我对程序一点不通,只会复制和粘贴

解决方案 »

  1.   

    我套用了以下代码
    procedure TfrmDKSJEdit.ComboBox1Change(Sender: TObject);
    var
      i:integer;
     beginadoquery1.close;
    adoquery1.sql.text:='select * from fclp';
    adoquery1.open;
    combobox1.items.clear;
    while not adoquery1.eof do
    begin
      combobox1.items.add('lpname');
      adoquery1.next;
    end;
    end;蛤是运行报错,提示为missing   connection   or   connectionstring百度说是连接错误,adoquery是否是这个东西有错误,怎么设,在哪里设
    在大家帮我的同时,我也在尽量自己学习
      

  2.   

    我在这个窗体上加一个ADO控件,显示一个ADO有一个小问号的图标控件,鼠标一砬出现ADOQUERY1,可能这就是QUERY了,那么现在可能是我新加的表FLCP,没有数据库连接成功造成的,不知道怎么查,百度看得不太明白,我再试试,请再指点,数据库的连接是在我这段代码里创建还是需要我把整个窗体的代码,就这一个窗体的代码发出来,我的QQ66235476,可以指点一下吗,我感觉成功在望了,就这个基础不懂就烦了,如创建可以帮我写出国连接代码吗,就在上述这段代码里
      

  3.   

    我的数据库是ORACLE8.1.7的。我中用PLSQL703这个工具新加的表,程序运行时应该本就连接上数据库的,为什么我加了表FCLP,单独
    procedure TfrmDKSJEdit.ComboBox1Change(Sender: TObject);
    var
      i:integer;
     beginadoquery1.close;
    adoquery1.sql.text:='select * from fclp';
    adoquery1.open;
    combobox1.items.clear;
    while not adoquery1.eof do
    begin
      combobox1.items.add('lpname');
      adoquery1.next;
    end;
    end;会提示missing connection or connectionstring
    代码没有问题,那为什么会没有连接呢,我觉得原程序本身可以运行就是连接上的,网上的教程不适合新手,连接是怎么能用代码写出来呢,急等 QQ 66235476,可远程
      

  4.   

    在设计期设置连接:方法1.双击adoquery1的connectionstring属性,在弹出对话框中点Build
    在弹出的新对话框中,根据你的数据库类型,设置它的连接方法2.或者用一个ADOConnection,设置好ADOConnection的connectionstring属性
    然后选择adoquery1的connection属性为ADOConnection
      

  5.   

    1、连接数据库
    2、创建tblList
    var tblList :TStringList;
        tblList:=TStringList.Create;
    3、DataModule2.ADOCon.GetTableNames(tblList);
       Combobox1.Items:=tblList;
      

  6.   

    4、读取字段名
      MyList:=TStringList.Create;
      SQL:='select * From '+Combobox1.text;
      DataModule2.ADOQuery1.Active:=False;
      DataModule2.ADOQuery1.SQL.Text:=SQL;
      DataModule2.ADOQuery1.ExecSQL;
      DataModule2.ADOQuery1.GetFieldNames(MyList);
      DataModule2.ADOQuery1.Open;
      DBGrid1.DataSource:=DataModule2.DataSource1;
      combobox3.Items:=MyList;
      MyList.Free;
      

  7.   


    因为我不懂编程,我使用了这位大哥的方法1,程序运行起来,没有报错了,但现在有新的问题出来
    procedure TfrmDKSJEdit.ComboBox1Change(Sender: TObject);
    var
      i:integer;
     begin
    adoquery1.close;
    adoquery1.sql.text:='select * from fclp';
    adoquery1.open;
    combobox1.items.clear;
    while not adoquery1.eof do
    begin
      combobox1.items.add('lpname');
      adoquery1.next;
    end;
    end;主程序运行没有问题,没有连接错错了。
    只是COMBOX1内容原来是空的,随便输个东西,下拉列表内容显示的不是我数据表中的字段内容,显示的是LPNAME这个字段名,我表中LPNAME有三项数据,下拉表中就显示LPNAME
    LPNAME
    LPNAME不是实际的内容,表中LPNAME我输的是三行房屋信息
    第二个问题就是我随便选择了一个LPNAME,但COMBOX1的文本还是空的,不像平时选择了内容,文本框就显示出来,所以这两个问题,我还想咨询大家,怎么处理,是不是我代码写的问题
      

  8.   

    其他两位史台,代码我没有用,因为我不懂,不过也给分表示感谢
    DataModule2这个东西我不知道在哪加,也不知道是什么玩意