tablecreate.pas

来自「进销存管理 编译环境Delphi7+Win2000 用到的控件 Rep」· PAS 代码 · 共 82 行

PAS
82
字号
unit TableCreate;

interface

uses DBTables, classes;

//新建DBE别名
function CreateDBEAlias(sAliasName, sPath: string): Boolean;
//新建当前程序别名
function CreateAlias(sAliasName, sPath: string): Boolean;
//新建所有表
function CreateAllTable(sPath: string): Boolean;

implementation

function CreateAlias(sAliasName, sPath: string): Boolean;
var
  sBDEList: TStringList;
begin
  Result := true;
  sBDEList := TStringList.Create();
  try
    Session.GetAliasNames(sBDEList);
    if sBDEList.IndexOf(sAliasName) = -1 then
    begin
      Session.ConfigMode := cmSession;
      Session.AddStandardAlias(sAliasName, sPath, 'PARADOX');
      Session.ConfigMode := cmAll;
      Session.SaveConfigFile(); // 存储BDE配置
    end
    else
      Result := false;
  finally
    sBDEList.Free;
  end;
end;

function CreateDBEAlias(sAliasName, sPath: string): Boolean;
var
  sBDEList: TStringList;
begin
  Result := true;
  sBDEList := TStringList.Create();
  try
    Session.GetAliasNames(sBDEList); // 获取系统所有BDE别名列表
    if sBDEList.IndexOf(sAliasName) = -1 then // 如果没有我们的BDE别名
    begin
      sBDEList.Clear;
      sBDEList.Add('ENABLE BCD = TRUE');
      sBDEList.Add('PATH = ' + sPath);
      Session.AddAlias(sAliasName, 'PARADOX', sBDEList);
        // 添加一个PARADOX类型的BDE别名
      //      Session.SaveConfigFile() ; // 存储BDE配置
    end
    else
      Result := false;
  finally
    sBDEList.Free;
  end;
end;

function CreateAllTable(sPath: string): Boolean;
var
  qryTmp: TQuery;
  sSql: string;
begin
  Result := true;
  qryTmp := nil;
  qryTmp := TQuery.Create(qryTmp);
  qryTmp.DatabaseName := sPath;
  with qryTmp do
  begin
    Sql.Clear;
    sSql := 'CREATE TABLE "atype.DB" (Id int)';
    Sql.Text := sSql;
    Execsql;
  end;
  qryTmp.Free;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?