📄 dm.pas
字号:
unit dm;
interface
uses
SysUtils, Classes, DB, ADODB,inifiles,Registry,Windows,Forms,Dialogs,variants;
type
Tfdm = class(TDataModule)
AdoBase: TADOTable;
ConDaLei: TADOConnection;
AdoItem: TADOQuery;
AdoCarinfo: TADOQuery;
Adocar: TADOQuery;
BaseData: TADOQuery;
Carunit: TADOQuery;
UseSQL: TADOQuery;
Datype: TADOQuery;
DatforTree: TADOQuery;
DagMana: TADOQuery;
Canuser: TADOQuery;
UserList: TADOQuery;
DaEdit: TADOQuery;
DaGuiId: TADOQuery;
Getfilecatory: TADOQuery;
ExecSql: TADOQuery;
AllDan: TADOQuery;
AllBorrow: TADOQuery;
ForSelect: TADOQuery;
AllReturn: TADOQuery;
FileContent: TADOQuery;
DsFileContent: TDataSource;
FilesB: TADOTable;
FilesR: TADOTable;
UserInfo: TADOQuery;
procedure ConDaLeiBeforeConnect(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
const
LabelConnectStr='ConnectionString';
LabelConnectReg='software\IDMS\1.0';
var
fdm: Tfdm;
function GetConnectStr:String;
function SetConnectStr(Constr:string):boolean;
procedure ExecSQL(var sqlstr :string);
procedure RefreshData(var Dataset:TADOQuery);
implementation
uses configado,basedata;
{$R *.dfm}
procedure WriteReg(aKey:String;aName:string;WriteStr:string);
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.OpenKey(aKey,True) then
begin
Reg.WriteString(aName,WriteStr);
Reg.CloseKey;
end;
finally
Reg.Free;
end;
end;
function ReadReg(aKey:string;aName:string;var aPath:string):boolean;
var
Reg: TRegistry;
begin
Result:=False;
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.KeyExists(aKey) then
if Reg.OpenKey(aKey,False) then
begin
if Reg.ValueExists(aName)then
begin
aPath:=Reg.ReadString(aName);
Result:=True;
Reg.CloseKey;
end;
end;
finally
Reg.Free;
end;
end;
procedure RefreshData(var Dataset:TADOQuery);
begin
with Dataset do
begin
close;
open;
end;
end;
function ExistsReg(aKey:String):boolean;
var
Reg: TRegistry;
begin
result:=False;
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
result:=Reg.KeyExists(aKey);
finally
Reg.Free;
end;
end;
function GetConnectStr:String;
var
rt:boolean;
rtStr:String;
begin
Result:='';
if ReadReg(LabelConnectReg,LabelConnectStr,rtStr) then
Result:=rtStr;
end;
function SetConnectStr(Constr:string):boolean;
begin
WriteReg(LabelConnectReg,LabelConnectStr,Constr);
result := True;
end;
procedure Tfdm.ConDaLeiBeforeConnect(Sender: TObject);
begin
ConDaLei.ConnectionString:=GetConnectStr;
end;
procedure ExecSQL(var sqlstr :string);
begin
with fdm.UseSQL do
begin
Sql.Clear;
Sql.Add(sqlstr);
execSql;
end;
end;
initialization
{
if fdm = nil then
fdm := Tfdm.Create(nil);
}
finalization
if fdm <> nil then
try
//fdm.ConDaLei.Close;
//fdm.FreeOnRelease;
////fdm.Free;
//fdm:= nil;
except
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -