设想用一个公用函数来控制所有combobox内容的动态生成,参数如何写才好?
设想用一个公用函数来控制所有combobox内容的动态生成,参数如何写才好?
楼主mengli1(清风使)2002-05-14 15:23:32 在 Delphi / VCL组件开发及应用 提问 数据全部来源于数据库,因为各个内容组成的条件差异较大,想着头大。初步设想这样写
procedure cmbBox(cmbBox:tcombobox;var a:array of string;count:integer);
a用于传递SQL语句的条件
但总觉有些问题 问题点数:0、回复次数:6Top
1 楼smallBridge(萧秋雨)回复于 2002-05-14 15:36:55 得分 0
procedure GeneralcmbBox(AcmbBox:TComboBox;AstrSQL:string);
begin
AcmbBox.Clear;
with TADOQuery.Create do
begin
TRY
if ConnectionString = "" then CoonectionString := ADOCnStr;//Const or public Var
Close;
SQL.Text := AstrSQL;
Open;
if IsEmpty then Exit;
while not Eof do
begin
AcmbBox.Items.Add(Fields.AsString);
Next;
end;
Close;
FINALLY
Free;
END;
end;
end;Top
2 楼smallBridge(萧秋雨)回复于 2002-05-14 15:39:04 得分 0
procedure GeneralcmbBox(AcmbBox:TComboBox;AstrSQL:string);
begin
AcmbBox.Clear;
with TADOQuery.Create do
begin
TRY
if ConnectionString = "" then CoonectionString := ADOCnStr;//Const or public Var
Close;
SQL.Text := AstrSQL;
Open;
if IsEmpty then Exit;
while not Eof do
begin
AcmbBox.Items.Add(Fields.AsString);
Next;
end;
Close;
FINALLY
Free;
END;
end;
end;Top
3 楼smallBridge(萧秋雨)回复于 2002-05-14 15:58:48 得分 0
我想用于填充COMBOBOX的字段只要一个,所以不必要知道确定的字段名称(当然使用字段名也可),只需用Fields代替即可。
另外如果希望该函数的内涵再大点,则只要将ADOQUERY的连接字符串connectionstring作为一个参数就行,其它情况根据需要增改参数即可。Top
4 楼qybao(阿宝)回复于 2002-05-14 16:37:12 得分 0
可以说详细点吗?是在ComboBox原有记录的基础上再增添新的SQL查询结果记录还是每次只想获得本次查询的记过记录?
基本思路同楼上的smallbridgeTop
5 楼mengli1(清风使)回复于 2002-05-16 10:42:08 得分 0
谢谢各位Top
6 楼mengli1(清风使)回复于 2002-05-16 10:43:50 得分 0
我不知道怎样给分?Top
-
相关文章
2秒记住本站域名
玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的readygo.com.cn
