function TPublicClass.DataComboBox(Tablevalue, Fieldvalue: String): TStrings; var RS : TStrings; begin RS := TStringList.Create; Result := RS; RS.Clear; Try DataModuleFrm.JzclsyADOConnection.GetTableNames(RS,False); //DataModuleFrm.JzclsyADOConnection.GetProcedureNames(RS); {} Except Application.MessageBox('对不起,数据表提取错误,请重新再试','操作提示',MB_OK + MB_ICONINFORMATION); Exit; end; if RS.IndexOf(Tablevalue) = -1 then begin Application.MessageBox('对不起,您所要搜索的数据表不存在','操作提示',MB_OK + MB_ICONINFORMATION); RS.Free; Exit; end; RS.Clear; DataModuleFrm.JzclsyADOConnection.GetFieldNames(Tablevalue,RS); if RS.IndexOf(Fieldvalue) = -1 then begin Application.MessageBox('对不起,您所要搜索的数据表中不存在这个字段','操作提示',MB_OK + MB_ICONINFORMATION); RS.Free; Exit; end; RS.Clear; Try with DataModuleFrm.LSB_ADOQuery do begin if Active then Active := False; SQL.Clear; SQL.Add('Select Distinct ' + Fieldvalue + ' from ' + Tablevalue); Open; if RecordCount = 0 then Exit; First; end; while Not DataModuleFrm.LSB_ADOQuery.Eof do begin RS.Add(DataModuleFrm.LSB_ADOQuery.FieldByName(Fieldvalue).AsString); DataModuleFrm.LSB_ADOQuery.Next; end; Except Application.MessageBox('对不起,数据操作错误','操作提示',MB_OK + MB_ICONINFORMATION); Exit; end; Result := RS; end;示例调用 procedure TgjyclFrm.Shows; begin ISOComboBox.Items := PublicClass.DataComboBox('Jzclsy_Isowh','Isowh_rz'); GcmcComboBox.Items := PublicClass.DataComboBox('jzclsy_gcmc','Gcmc_mc'); wtdwComboBox.Items := PublicClass.DataComboBox('Jzclsy_wtdw','wtdw_mc'); qyrComboBox.Items := PublicClass.DataComboBox('Jzclsy_qyrwh','Qyrwh_qyr'); JzrComboBox.Items := PublicClass.DataComboBox('jzclsy_jzrwh','Jzrwh_jzr'); end;公用的
Try with DataModuleFrm.LSB_ADOQuery do begin if Active then Active := False; SQL.Clear; SQL.Add('Select UserName from TableName'); Open; if RecordCount = 0 then Exit; First; end; while Not DataModuleFrm.LSB_ADOQuery.Eof do begin RS.Add(DataModuleFrm.LSB_ADOQuery.FieldByName(UserName).AsString); DataModuleFrm.LSB_ADOQuery.Next; end; Except Application.MessageBox('对不起,数据操作错误','操作提示',MB_OK + MB_ICONINFORMATION); Exit; end;
循环 var l_str:string;l_str := ''; with Adoquery1 do begin close; SQL.text := 'select UserName from Users'; open; while not eof do begin l_str := l_str + FieldByName('userName').AsString + ';'; Next; end; end;
Fieldvalue: String): TStrings;
var
RS : TStrings;
begin
RS := TStringList.Create;
Result := RS;
RS.Clear;
Try
DataModuleFrm.JzclsyADOConnection.GetTableNames(RS,False);
//DataModuleFrm.JzclsyADOConnection.GetProcedureNames(RS);
{}
Except
Application.MessageBox('对不起,数据表提取错误,请重新再试','操作提示',MB_OK + MB_ICONINFORMATION);
Exit;
end;
if RS.IndexOf(Tablevalue) = -1 then
begin
Application.MessageBox('对不起,您所要搜索的数据表不存在','操作提示',MB_OK + MB_ICONINFORMATION);
RS.Free;
Exit;
end;
RS.Clear;
DataModuleFrm.JzclsyADOConnection.GetFieldNames(Tablevalue,RS);
if RS.IndexOf(Fieldvalue) = -1 then
begin
Application.MessageBox('对不起,您所要搜索的数据表中不存在这个字段','操作提示',MB_OK + MB_ICONINFORMATION);
RS.Free;
Exit;
end;
RS.Clear;
Try
with DataModuleFrm.LSB_ADOQuery do
begin
if Active then
Active := False;
SQL.Clear;
SQL.Add('Select Distinct ' + Fieldvalue + ' from ' + Tablevalue);
Open;
if RecordCount = 0 then
Exit;
First;
end;
while Not DataModuleFrm.LSB_ADOQuery.Eof do
begin
RS.Add(DataModuleFrm.LSB_ADOQuery.FieldByName(Fieldvalue).AsString);
DataModuleFrm.LSB_ADOQuery.Next;
end;
Except
Application.MessageBox('对不起,数据操作错误','操作提示',MB_OK + MB_ICONINFORMATION);
Exit;
end;
Result := RS;
end;示例调用
procedure TgjyclFrm.Shows;
begin
ISOComboBox.Items := PublicClass.DataComboBox('Jzclsy_Isowh','Isowh_rz');
GcmcComboBox.Items := PublicClass.DataComboBox('jzclsy_gcmc','Gcmc_mc');
wtdwComboBox.Items := PublicClass.DataComboBox('Jzclsy_wtdw','wtdw_mc');
qyrComboBox.Items := PublicClass.DataComboBox('Jzclsy_qyrwh','Qyrwh_qyr');
JzrComboBox.Items := PublicClass.DataComboBox('jzclsy_jzrwh','Jzrwh_jzr');
end;公用的
with DataModuleFrm.LSB_ADOQuery do
begin
if Active then
Active := False;
SQL.Clear;
SQL.Add('Select UserName from TableName');
Open;
if RecordCount = 0 then
Exit;
First;
end;
while Not DataModuleFrm.LSB_ADOQuery.Eof do
begin
RS.Add(DataModuleFrm.LSB_ADOQuery.FieldByName(UserName).AsString);
DataModuleFrm.LSB_ADOQuery.Next;
end;
Except
Application.MessageBox('对不起,数据操作错误','操作提示',MB_OK + MB_ICONINFORMATION);
Exit;
end;
var
l_str:string;l_str := '';
with Adoquery1 do
begin
close;
SQL.text := 'select UserName from Users';
open;
while not eof do begin
l_str := l_str + FieldByName('userName').AsString + ';';
Next;
end;
end;