有一小小改变事件里的错误请大家多指教(50分)

  • 主题发起人 主题发起人 eighteenzl
  • 开始时间 开始时间
E

eighteenzl

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TYGXXXGform.ComboBox1Change(Sender: TObject);
var i:integer;
a:string;
begin
if ComboBox1.text<>'' then
begin
adoquery1.Close;
adoquery1.SQL.Clear;
a:=combobox1.Text;
adoquery1.SQL.Add('select '+ComboBox1.text+' from 员工基础信息表');
ADOQuery1.Open;
if ADOQuery1.FieldCount>0 then
begin
for i:= 0 to adoquery1.FieldCount-1 do
begin
ComboBox2.Items.Add(ADOQuery1.Fields.FullName);
end;
end;
end;
end;
end.
adoquery1.SQL.Add('select '+ComboBox1.text+' from 员工基础信息表');为何这里是查询全部就行,加个动态的'+ComboBox1.text+'就不行,
是这样提示的ADOQuery1:field'员工编号'not found
请各位指正
 
用onselect事件或者onclick事件
 
Adoquery1.Sql.Add('Select '+#39+ComboBox1.Text+#39+'From 员工基础信息表'
 
因为你的combobox里面并不是只有一条记录呀,而且你也并没有指向“员工编号”这个字段,所以就提示ADOQuery1:field'员工编号'not found了。
 
Adoquey1.sql.add('select '''+trim(combobox1.text)+'''from 员工基础信息表')
 
注释:::各位我的combobox1.text里面的东西也是通过循环得到的,今天我试了一下给你们的建义.,结果还是那个同样的错误,,,还望大家再帮忙出出主意啊,谢谢了<
 
showmessage(ADOQuery1.SQL.Text);看看就知道错在哪里了.如果是comboBox1.Text获取的是空的就要想一下是不是换个事件,比如说CloseUp事件,不知道有没有.
 
还有就是我明明选择的是combobox1里面的员工姓名要找出员工姓别这个字段的所有值/////他为何还要去找员工编号呢.,,?????[?][?][?]
 
我设了断点.问题就出在ADOQuery1.open;这里,
 
你那里面用fieldcount干吗,应该是recordcount吧?fieldcount肯定是1啊.
 
adoquery1.SQL.Add('select [red]'''+ComboBox1.text+''' [/red]from 员工基础信息表') //加上引号即可
 
procedure TYGXXXGform.ComboBox1Change(Sender: TObject);
var i:integer;
begin
if ComboBox1.text<>'' then
begin
adoquery1.Close;
adoquery1.SQL.Clear;
//a:=combobox1.Text; 干掉
adoquery1.SQL.Add('select '+ComboBox1.text+' from 员工基础信息表');
ADOQuery1.Open;
if ADOQuery1.RecordCount >0 then
begin
combobox2.Clear;
for i:= 0 to adoquery1.RecordCount -1 do
begin
ComboBox2.Items.Add(ADOQuery1.fieldbyname(''+combobox1.text+'').AsString);
adoquery1.Next;
end;
end;
end;
end;
 
在delphi中查询语句中的表名用变晕时,只用一对单引号,
     查询条件中字段赋值用变量时,要用三对单引号。

很不好意思,不知道为什么,只知道应该这样。
 

Similar threads

I
回复
0
查看
862
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
708
import
I
后退
顶部