求助:怎样将数据表中的一列数据读到ComboBox?

harfwater 2005-05-19 09:53:57
在ADOCommond中已经写了SQL语句,可是得到数据集后如何在ComboBox中显示呢?
...全文
234 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
duanhai 2005-05-20
  • 打赏
  • 举报
回复
當然有啦
你用SQL語句查詢出一長串
如:
declare @value
set @value=''
select @value=@value+field1+',' from (select distinct field1 from tablename) A
set @value=left(@value,len(@value)-1)
select @value

然後
ComboBox1.Items.Delimiter := ',';
ComboBox1.Items.DelimitedText := AdoQuery1.Fields[0].AsString;
观石 2005-05-20
  • 打赏
  • 举报
回复
大家有没有不用循环的方法呢,
lpk_lyd 2005-05-19
  • 打赏
  • 举报
回复
我这段代码那里有问题啊!怎么运行没反映哦!!
那位高手帮忙看看哦!
procedure TForm3.FormShow(Sender: TObject);
begin
dm1.ADOQuery1.Close;
dm1.ADOQuery1.SQL.Clear;
dm1.ADOQuery1.SQL.text :='select jfjs_bh from jqjs';
dm1.ADOQuery1.Open;
combobox1.items.clear;
while dm1.ADOQuery1.Eof do
begin
combobox1.items.add(dm1.adoquery1.fieldbyname('jfjs_bh').asstring);
dm1.ADOQuery1.Next;
end;
end;
hellolongbin 2005-05-19
  • 打赏
  • 举报
回复
first
while not eof
begin
combobox.add
next
end;
guanduo 2005-05-19
  • 打赏
  • 举报
回复
是adotable 楼下说的对,都一样用,adoquery这样
combobox2.Items.Clear;
  with adoquery1 do
begin
close;
sql.clear;
sql.add('select * from student');
open;
while (not adoquery1.Eof) do
begin
str:=adoquery1['stucode'];
if VarIsNull(str) then
adoquery1.Next
else
begin
combobox2.Items.Add(str);
adoquery1.Next;
end;
  end;  
这是把student表中的stucode加到combobox2中




blazeyan 2005-05-19
  • 打赏
  • 举报
回复
Table 或 Query 操作都是一样的啊。大致步骤:
Open 你的数据集,表或者查询
First 数据集的记录指针,使指向第一个记录
循环 直到数据集结束
在循环体中使用CombBox.Items.Add方法把你的字段添加到CombBox
Next 在循环体中移动记录指针
Close 数据集
harfwater 2005-05-19
  • 打赏
  • 举报
回复
谢谢楼上的!at_student_add是ADOTable还是ADOQuery呀?
guanduo 2005-05-19
  • 打赏
  • 举报
回复
begin
datamodulefm.at_student_add.Filtered:=false;
datamodulefm.at_student_add.Open;
datamodulefm.at_student_add.First;
combobox2.Items.Clear;
while (not datamodulefm.at_student_add.Eof) do
begin
str:=datamodulefm.at_student_add.fieldbyname('stucode').Value;
if VarIsNull(str) then
datamodulefm.at_student_add.Next
else
begin
combobox2.Items.Add(str);
datamodulefm.at_student_add.Next;
end;

end;


datamodulefm.at_student_add.Close




end;
harfwater 2005-05-19
  • 打赏
  • 举报
回复
顶一下~大家帮忙啊
小呆之家 2005-05-19
  • 打赏
  • 举报
回复
ComboBox1.Items.Clear;
with AdoQuery do
Try
Close;
SQL.Text := 'Select Distinct Field1 from tablename';
Open;
if IsEmpty then Exit;
while Not Eof do
begin
if adoquery1.fieldsbuname('fields1').asstring<>'' then //---去掉空值
ComboBox1.Items.Add(AdoQuery1.FieldByName('Field1').AsString);
Next;
end;
except
ShowMessage('出錯信息');
end;
ComboBox1.Items.Update;
wlbfeihu 2005-05-19
  • 打赏
  • 举报
回复
关注一下
ComboBox1.Items.Clear;
with AdoQuery do
Try
Close;
SQL.Text := 'Select Distinct Field1 from tablename';
Open;
if IsEmpty then Exit;
while Not Eof do
begin
ComboBox1.Items.Add(AdoQuery1.FieldByName('Field1').AsString);
Next;
end;
except
ShowMessage('出錯信息');
end;
ComboBox1.Items.Update;

duanhai 2005-05-19
  • 打赏
  • 举报
回复
我也來一個
procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
begin
ADOQuery1.Close;
AdoQuery1.SQL.Text := 'Select Distinct Field1 from tablename';
try
AdoQuery1.Open;
except
ShowMessage('查詢出錯');
end;
ComboBox1.Items.Clear;
ComboBox1.Items.BeginUpdate;
try
while not AdoQuery1.Eof do
begin
ComboBox1.Items.Add(AdoQuery1.FieldByName('Field1').AsString);
AdoQuery1.Next;
end;
finally
ComboBox1.Items.EndUpdate;
end;
end;
lpk_lyd 2005-05-19
  • 打赏
  • 举报
回复
我用
procedure TForm3.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
dm1.ADOQuery1.SQL.Text:='select * from jqjs where jfjs_bh='''+combobox1.Text+'''';
dm1.ADOQuery1.Open;
end;
显示combobox1选中的数据库中的数据。可是为什么没反映呢?
Larrystudy 2005-05-19
  • 打赏
  • 举报
回复
combobox显示数据库中一列数据,要是编号相同怎么让他不重复显示啊!!
麻烦了!!
----------------------------------------------------------------------
select distinct 编号 from YourTableName
sxdoujg 2005-05-19
  • 打赏
  • 举报
回复
procedure TForm1.FormCreate(Sender: TObject);
var
i:integer;
begin
for i:=0 to (query1.FieldCount-1) do
begin
combobox1.Items.Add(query1.Fields[i].FieldName);
end;
end;
lpk_lyd 2005-05-19
  • 打赏
  • 举报
回复
谢谢楼上的大哥指点。
我还想问一下。
combobox显示数据库中一列数据,要是编号相同怎么让他不重复显示啊!!
麻烦了!!
guanduo 2005-05-19
  • 打赏
  • 举报
回复
是while not dm1.adoquery1.eof do
循环条件错了呵呵
vf6.0,要考二级没系统的下哈 Microsoft Visual FoxPro 6.0 for Windows 的常见问题 这些是有关 Microsoft Visual FoxPro 最常见的问题。在您求助 Microsoft 产品支持服务之前,请先查阅这张列表。 若想打印这些附注,请从“文件”菜单选择“打印”命令。此文档分为以下四部分: --------------------------------------------------------------------- 部分 1. 技术支持与市场 部分 2. Visual FoxPro 6.0 新增功能 部分 3. 从其他版本的 FoxPro 和 Visual FoxPro 移植 部分 4. Visual FoxPro 常见问题 --------------------------------------------------------------------- 部分 1. 技术支持与市场 问题 1-1: 从何处可以获得产品的更新版本? 答案: 在 Visual FoxPro 的 Web 站点上即可获得产品的更新信息,其包括有关 Service Pack 和更新的示例、向导及其他代码的信息,该站点的网址为: www.microsoft.com/vfoxpro 请定期查看该网站,以便下载产品的最新版本。 问题 1-2: 从何处可以得到有关 Visual FoxPro 的详细资料? 答案: 通过 Microsoft Visual FoxPro Web 站点是随时获得各种最新产品发布信息的最佳途径。在此站点上不仅有新的产品公告,而且还提供了产品的更新信息、技术文章、白皮书、专业开发人员设计的优秀示例、会议公告、以及与其他许多 FoxPro web 站点的各种链接。 问题 1-3: 如何获得技术支持,以及如何报告软件错误? 答案: Microsoft Visual FoxPro Web 站点已经链接到了多种联机支持选项,其包括覆盖面广阔的有关所有产品 Microsoft Knowledge Base(Microsoft 知识库)。您还可以阅读一份有关常见问题的清单。除联机支持之外,还可以直接通过电话获得技术支持。“帮助”菜单的选项可列出技术支持的电话号码。这些电话号码也可用于报告产品的错误。 问题 1-4. 什么是 Knowledge Base?如何使用它? 答案: Knowledge Base 是内容广泛的论文集,覆盖了如何使用产品的各种特性、已知的软件错误及其解决方案或回避的方法、以及其他有助于使用各种 Microsoft 产品的有用信息。通过以下站点可访问整个 Knowledge Base: support.microsoft.com 问题 1-5: 是否会有 Visual FoxPro 6.0a? 答案: Microsoft 公司一向承诺为用户提供高质量的产品。如果确实需要,我们将提供 Visual FoxPro 6.0 的错误修订版。但是,修订版不会使用 6.0a 版的形式。Visual FoxPro 6.0 任何错误的修正都将包含在 Visual Studio Service Pack 。同时还会在 Visual FoxPro 的 www.microsoft.com/vfoxpro 或 Visual Studio 的www.microsoft.com/vstudio 的 Web 站点上发布修订公告。 问题 1-6: Microsoft 公司为应用程序的开发提供了一些优秀的解决方案。怎样才能知道应该向客户推荐和使用哪种产品? 答案: 在选择适用某项任务的产品时,需要考虑多方面的因素。Microsoft Visual FoxPro web 站点上有一份优秀的策略背景论文,它比较了 Visual FoxPro、Visual Basic、SQL Server 和 Access 等 Microsoft 产品之间的不同。 问题 1-7: 哪里可以找到 Visual FoxPro 的使用示例? 答案: Visual FoxPro 6.0 产品带有丰富的示例,其有一些是针对 6.0 版特有功能的新示例。与 Visual FoxPro 以前的版本不同,这些示例将与所有 Visual Studio 示例安装在一起。您必须运行 MSDN Library 的“自定义”安装来安装这些示例。在 Visual FoxPro 可使用新的 HOME(2) 函数方便地找到已安装示例的位置。 除了产品所自带的示例外,Microsoft Visual FoxPro web 站点还将经常提供新的示例。

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧