新问题 怎么用combobox控件读取数据库里的内容?
<P>我在做一个下拉菜单使用combobox控件<BR>里面内容我想从数据库里读取<BR>做过的 指点指点<BR>感谢呵呵</P> 也没个帮忙的 <BR>还好我找到拉<BR>发来公享<BR>combobox1.Clear;<BR>adoquery1.Close;<BR>adoquery1.SQL.Clear;<BR>adoquery1.SQL.Text:='select * from dgyw';<BR>adoquery1.Open;<BR>combobox1.Items.Clear;<BR>while not adoquery1.Eof do<BR>begin<BR>combobox1.Items.Add(adoquery1.FieldValues['name']);<BR>adoquery1.Next;<BR>end;<BR><BR>现在问下在一个页面用多个adoquery打开多个表影响速度吗 <P>那肯定會了。只要你的數據不是太大影響不會很明顯</P> <P>你为什么要用adoquery打开多个表。<BR>不能一次取完吗?<BR>而且你这个完全是一种数据显示,<BR>对于做软件来说意义不大,<BR><BR>怎么不考虑用面向对象去封装一下数据集,。</P>回复:(volte)你为什么要用adoquery打开多个表。不能...
面向对象去封装一下数据集<BR>怎么实现啊<BR><BR><BR>我面向对象理解的不够<BR><BR>有什么资料? <P>SOSO就有很多资料.</P> <P>感谢大家<BR>下面是个3级下拉菜单 都是从数据库读取内容的<BR>我已经有代码拉 不过别人帮忙做的 <BR>那位高手能帮忙注释下什么意思<BR>我的表ywzl 字段有yjl ejl sjl<BR> 业务种类 一级类 2级类 3级类<BR>我注释了一部分 还有的不知道<BR>procedure Tts.LoadDataToCombox(Target:TComboBox;DataColumn:String;Condition:String='');<BR>begin<BR> if Target=nil then Exit;<BR> if DataColumn<='' then Exit; //不知道什么意思<BR> with ADOQuery1 do<BR> begin<BR> Close; //distinct 表示无重复显示字段内容<BR> SQL.Text:='SELECT DISTINCT '+DataColumn+' FROM ywzl WHERE '+DataColumn+' IS NOT NULL '+IfThen((Condition<=''),'',' AND '+Condition); // 不知道什么意思<BR> Open; <BR> Target.Items.Clear;<BR> while not Eof do<BR> begin<BR> Target.Items.Add(Fields.Fields[0].AsString);//不知道什么意思<BR> Next;<BR> end;<BR> Close;<BR> end;<BR> Target.Visible:=(Target.Items.Count>0); //透明取决于combobox里面的内容大于0则返回true<BR>end;</P><P><BR>procedure Tts.FormCreate(Sender: TObject);<BR>begin<BR> LoadDataToCombox(ComboBox4,'yjl'); //combobox4中的内容显示 字段为yjl的内容 1级类<BR>end;</P>
<P>procedure Tts.ComboBox4Change(Sender: TObject);<BR>begin<BR> LoadDataToCombox(ComboBox5,'ejl','yjl='''+ComboBox4.Text+''''); //combobox5中的内容显示 字段为ejl的内容 2级类 条件是 // 条件不知道是什么<BR> ComboBox6.Visible:=False;<BR>end;</P>
<P>procedure Tts.ComboBox5Change(Sender: TObject);<BR>begin<BR> LoadDataToCombox(ComboBox6,'sjl','yjl='''+ComboBox4.Text+''' AND ejl='''+ComboBox5.Text+'''');<BR>end;</P>
页:
[1]
