注册 登录
编程论坛 Delphi论坛

[求助] 帮帮新手改正一下语句

小陆 发布于 2007-01-04 14:24, 520 次点击
我是个新手 想问一下

一个点菜的表 (有几个类型 )

我想把表中 "类型 " 为 DBComboBox2.Text的所有 "菜名" 放到DBComboBox7.Items中去

data.ADOQMenu.Close;
data.ADOQMenu.SQL.Clear;
data.ADOQMenu.SQL.Add('select * from Menu where 类型='+DBComboBox2.Text);
data.ADOQMenu.Open;
data.ADOQMenu.First;
DBComboBox7.Items.Clear;
for i:=1 to Data.ADOQMenu.RecordCount do
begin
DBComboBox7.Items.Add(Data.ADOQMenu.FieldByName('Name').AsString);
Data.ADOQMenu.Next;
end;
Data.ADOQMenu.Close;
end


上面可以运行 但没有实现我的目的 它说没有 默认直

帮一下我啊
6 回复
#2
volte2007-01-04 15:11
for i:=1 to Data.ADOQMenu.RecordCount do
begin
DBComboBox7.Items.Add(Data.ADOQMenu.FieldByName('Name').AsString);
//是变量I的循环条件.不要在使用Data.ADOQMenu.Next,
end;
Data.ADOQMenu.Close;

或者使用下面的也可以

while not Data.AdoQMenu.eof do
begin
DbComboBox7.Items.Add(Data.AdoQMenu.FieldByName('Name').AsString);
Data.AdoQMenu.Next;
end;
#3
小陆2007-01-04 15:15
真的要谢谢你啊

一改就成功拉
#4
BCheng1124152007-01-05 19:03
国务院的斑竹当让强悍拉
#5
随云2007-01-05 20:22
不错,厉害,不过这个我也会,呵呵
#6
liutianfeiyu2007-01-13 22:30
嘿嘿……
最近也在的研究数据库哈
有帮助,顶哈~
#7
jjbowen2007-01-18 16:00
with DM.ADOQuery_SPXS do
begin
data.ADOQMenu.SQL.Clear;
data.ADOQMenu.SQL.Add('select * from Menu);
data.ADOQMenu.Open;
data.ADOQMenu.First;
while not eof do
begin
if fieldByName('类型').AsString=DBComboBox2.Text then
begin
DBComboBox7.Items.Add(data.ADOQMenu['Name']);
end;
next;
end;
close;
end;
1