📄 pcommselect.pas
字号:
unit PCommSelect;
interface
uses
SysUtils, Windows, Messages, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, ComCtrls, ExtCtrls, Buttons, Db, ADODB, Grids,
DBGrids;
type
TFormSelect = class(TForm)
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
DBGridSelect: TDBGrid;
DataSourceSelect: TDataSource;
ADOQuerySelect: TADOQuery;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure DBGridSelectCellClick(Column: TColumn);
private
public
sTableName:String;
sFieldName:String;
sCaption:String;
sResult:String;
end;
function GetString(sT,sF,sC:String;sAdoC:String): String; stdcall;
implementation
{$R *.DFM}
procedure TFormSelect.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TFormSelect.FormShow(Sender: TObject);
begin
ADOQuerySelect.Close;
ADOQuerySelect.SQL.Clear;
ADOQuerySelect.SQL.Add('Select '+sFieldName+' from '+sTableName+' order by '+sFieldName);
ADOQuerySelect.Open;
DBGridSelect.Columns[0].Title.Caption:=sCaption;
DBGridSelect.Columns[0].Width:=trunc(DBGridSelect.Width*0.9);
end;
function GetString(sT,sF,sC:String;sAdoC:String):String; stdcall;
var
FormScroll: TFormSelect;
begin
Result := '';
try
if assigned(FormScroll) then
FormScroll.Free;
FormScroll := TFormSelect.Create (Application);
try
FormScroll.sTableName:=sT;
FormScroll.sFieldName:=sF;
FormScroll.sCaption:=sC;
FormScroll.ADOQuerySelect.ConnectionString:=sAdoC;
if FormScroll.ShowModal = mrOK then
begin
Result :=FormScroll.sResult;
FormScroll.ADOQuerySelect.Close;
end;
finally
FormScroll.Free;
end;
except
on E: Exception do
MessageDlg ('Error in SelectDLL: ' +
E.Message, mtError, [mbOK], 0);
end;
end;
procedure TFormSelect.DBGridSelectCellClick(Column: TColumn);
begin
if DBGridSelect.SelectedField<>Nil then
sResult:=DBGridSelect.SelectedField.Text;
end;
initialization
application.CreateHandle;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -