关于ComboBox和DBLookupComboBox的问题。
delphi吧
全部回复
仅看楼主
level 1
当我选择了ComboBox的选项后,在选择DBLookupComboBox的内容,确定后可以在DBgrid上显示查询的数据,当我随机改变ComboBox的值去查询时第一次和第二次查询时可以的查询到的,但当我改变第三次的的值去查询时,就会出现第二幅图片的警告。这是为什么呢?求帮帮忙,谢谢了
procedure TProfitForm.ComboBoxKeyChange(Sender: TObject);
begin
case comboboxKey.ItemIndex of
0:
begin //股权号
DBLookupComboBoxTheme.KeyField:='stockId';
DBLookupComboBoxTheme.ListField:='stockId';
end;
1:
begin//门牌号
DBLookupComboBoxTheme.KeyField:='houseNo';
DBLookupComboBoxTheme.ListField:='houseNo';
end;
2:
begin//户主名
DBLookupComboBoxTheme.KeyField:='name';
DBLookupComboBoxTheme.ListField:='name';
end;
end;
end;
procedure TProfitForm.BitBtnSeekClick(Sender: TObject);
begin
SpeedButtonAlter.Enabled:=true;
if trim(ComboBoxKey.Text)='' then
begin //检查关键字段是否为空
application.MessageBox('请选择查询字段!','用户提示');
ComboBoxKey.SetFocus;
exit;
end;
if trim(DBLookupComboBoxTheme.Text)='' then
begin //检查关键字段是否为空
application.MessageBox('请选择查询内容!','用户提示');
DBLookupComboBoxTheme.SetFocus;
exit;
end;
//根据条件查询
if (ComboBoxKey.ItemIndex=0) then
begin
With DataModule1.ADOQueryProfit1 do
begin
close;
Sql.Clear;
Sql.Add('Select * from Profit Where stockId='''+trim(DBLookupComboBoxTheme.Text)+'''');
open;
end;
end
else if (ComboBoxKey.ItemIndex=1) then
begin
With DataModule1.ADOQueryProfit1 do
begin
close;
Sql.Clear;
Sql.Add('Select * from Profit Where houseNo='''+trim(DBLookupComboBoxTheme.Text)+'''');
open;
end
end
else if (ComboBoxKey.ItemIndex=2) then
begin
With DataModule1.ADOQueryProfit1 do
begin
close;
Sql.Clear;
Sql.Add('Select * from Profit Where name='''+trim(DBLookupComboBoxTheme.Text)+'''');
open;
end;
end;
end;
2014年04月07日 01点04分 1
level 1
有时候查询时第一次后,第二次查询就警告了,我都弄了很久了 还是不行啊
2014年04月07日 01点04分 2
1