我们通常的哪个下拉列表,要下很多,通常用户在使用中也不方便,如果能从数据库中查询出来的话,我们每使用的时候,只要在数据库中添加就是了,如果不要了,可以删了,不知哪个大哥用过使个方法,本人的例子如下:是错了的.
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('select classname from class where classname=:ClassID');
ADOQuery2.parameters.ParamByName('ClassID').value:=ComboBox1.Items[ComboBox1.ItemIndex];
ADOQuery2.Open;
if ADOQuery2.RecordCount<>0 then
mboBox1:=ADOQuery2.FieldByName('class').value;
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('select classname from class where classname=:ClassID');
ADOQuery2.parameters.ParamByName('ClassID').value:=ComboBox1.Items[ComboBox1.ItemIndex];
ADOQuery2.Open;
if ADOQuery2.RecordCount<>0 then
mboBox1:=ADOQuery2.FieldByName('class').value;
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('select classname from class where classname=:ClassID');
ADOQuery2.Parameters.ParamValues['Report_id']:=ComboBox1.Text;
ADOQuery2.Open;
while not ADOQuery2.Eof do
begin
mboBox1.Items.Append(ADOQuery2['classname']);
ADOQuery2.Next;
end;
mboBox1.Items.Clear;
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('select classname from class');
ADOQuery2.Open;
first;
while not ADOQuery2.Eof do
begin
mboBox1.Items.add(ADOQuery2.fieldvalue['classname']);
//括号中也可以是adoquery2.fieldbyname('classname').asstring;
ADOQuery2.Next;
end;对于楼上的ADOQuery2.Parameters.ParamValues['Report_id']:=ComboBox1.Text; 本人不懂 虚心求教
对于楼上的ADOQuery2.Parameters.ParamValues['Report_id']:=ComboBox1.Text; 本人不懂 虚心求教
给参数赋值
应为
ADOQuery2.Parameters.ParamValues[ClassID']:=ComboBox1.Text;