当前位置:首页 > 网络编程 > 软件语言 > DELPHI > 检测、建立数据库别名和表格

检测、建立数据库别名和表格

点击次数:46 次 发布日期:2008-11-09 08:41:42 作者:源代码网
源代码网推荐
广告载入中
  对于BDE会话期对象来说,BDE别名特别重要,许多方法都需要传递一个数据库的别名作为参数。Tsession提供了管理BDE别名的功能。
源代码网推荐   但是作者往往等到要发布程序时才发现,你的程序由于找不到别名而无法运行,必须在一台已经装了BDE管理程序的机上才能用,你一定非常失望。不要紧,只要在程序中加入以下语句,你的程序就又可以执行。
源代码网推荐   AddAlias用于为Paradox、dBase或文本创建别名,不需要连接参数,只需指定一个路径和默认的驱动程序。
源代码网推荐   AddStandardAlias函数则需要传递三个参数,Name参数用于指定名称,Driver参数用于指定SQL Links驱动程序,List参数用于指定连接参数。
源代码网推荐 procedure TForm1.FormCreate(Sender: Tobject);
源代码网推荐 begin
源代码网推荐 with Session do
源代码网推荐 begin
源代码网推荐 ConfigMode := cmSession;
源代码网推荐 try
源代码网推荐 AddStandardAlias("WorkMen", ExtractFilePath(ParamStr(0)), "PARADOX");
源代码网推荐 finally
源代码网推荐 ConfigMode := cmAll;
源代码网推荐 end;
源代码网推荐 end;
源代码网推荐 end;
源代码网推荐
源代码网推荐   上面的是单机版的创建别名方法,还有创建SQL服务器别名的方法
源代码网推荐 procedure TForm1.FormCreate(Sender: Tobject);
源代码网推荐 var MyList: TStringList;
源代码网推荐 begin
源代码网推荐 MyList := TStringList.Create;
源代码网推荐 try
源代码网推荐 with MyList do
源代码网推荐 begin
源代码网推荐 Add("SERVER NAME=IB_SERVER:/PATH/DATABASE.GDB");
源代码网推荐 Add("USER NAME=MYNAME");
源代码网推荐 end;
源代码网推荐 Session1.AddAlias("WorkMen", "INTRBASE", MyList);
源代码网推荐 finally
源代码网推荐 MyList.Free;
源代码网推荐 end;
源代码网推荐 end;
源代码网推荐
源代码网推荐   要说明的是,调用AddStandardAlias或AddAlias函数创建的别名只存在于内存中,程序关闭后就没有了,要把别名永远的保存到BDE配置文件中,请调用SaveConfigFile函数来保存到设置文件中。
源代码网推荐 /////////////////////////////////
源代码网推荐 ---- 一、 数 据 库 别 名(Alias) 的 定 义 和 检 测 方 法
源代码网推荐
源代码网推荐 ---- 当Type 为STANDARD 时, 别 名 定 义 最 为 简 单, 这 时 仅 能 采 用PARADOX, DBASE,ASCIIDRV 三 种 数 据 库 作 为 缺 省 的 驱 动 程 序(DEFAULT DRIVER)。
源代码网推荐
源代码网推荐 ---- 另 外, 还 要 定 义 数 据 库 存 放 路 径(PATH) 和ENABLE BCD, 才 能 建 立 一 个 完 整 的 数 据 库 别 名。
源代码网推荐
源代码网推荐 ---- Delphi 的 数 据 库 应 用 程 序 能 自 动 提 供 一 个Session 组 件, 这 个 Session 组 件 即 为 应 用 程 序 与BDE 的 接 口。
源代码网推荐
源代码网推荐 ---- 1. 检 测 别 名
源代码网推荐
源代码网推荐 ---- 通 过 调 用Session.GetAliasNames(list:Tstrings) 方 法, 可 将 当 前BDE 配 置 中 的 所 有 数 据 库 别 名 的 名 称 存 放 到List 字 符 串 列 表 中。 list.IndexOf(" 需 要 检 测 的 别 名") 的 值 会 告 诉 我 们 这 个 别 名 是 否 存 在 ( 其 值 为-1 时 不 存 在)。
源代码网推荐
源代码网推荐 ---- 2. 增 加 一 个 新 的 别 名
源代码网推荐
源代码网推荐 ---- Session 组 件 的 过 程AddStandardAlias(const Name, Path, DefaultDriver: string), 可 以 增 加 一 个 标 准 类 型 的 数 据 库 别 名。 例 如 增 加 一 个 名 为Cntssamp, 缺 省 数 据 库 驱 动 程 序 为PARADOX、 存 放 路 径 为c:delphp11 的 别 名:
源代码网推荐
源代码网推荐 ---- Session.AddStandardAlias("Cntssamp","c:delphp11","Paradox");
源代码网推荐
源代码网推荐 ---- 3.BDE 配 置 文 件 存 盘
源代码网推荐
源代码网推荐 ---- Session.SaveConfigFile;
源代码网推荐
源代码网推荐 ---- 二、 数 据 库 中 表 格 的 定 义 和 检 测 方 法
源代码网推荐
源代码网推荐 ---- 数 据 库 中 表 格 的 定 义、 维 护 和 使 用, 只 有 在 数 据 库 别 名 正 确 设 置 的 情 况 下 才 有 意 义。 以TTable 组 件 为 例, 必 须 设 置 其DatabaseName 为 一 个 实 际 存 在 的 别 名。
源代码网推荐
源代码网推荐 ---- 1. 检 测 表 格 是 否 存 在 软件开发网 www.mscto.com
源代码网推荐
源代码网推荐 ---- 通 过 调 用Session.GetTableNames(const DatabaseName,
源代码网推荐
源代码网推荐 ---- Pattern: string; Extensions,SystemTables: Boolean; List:
源代码网推荐
源代码网推荐 ---- TStrings) 方 法, 可 将 当 前 指 定 数 据 库 别 名 中 所 有 表 格 的 名 称 存 放 到 List 字 符 串 列 表 中。list.IndexOf(" 需 要 检 测 的 表 格 名") 的 值 会 告 诉 我 们 这 个 表 格 是 否 存 在( 其 值 为-1 时 不 存 在)。
源代码网推荐
源代码网推荐 ---- 2. 建 立 一 个 表 格
源代码网推荐
源代码网推荐 ---- 第 一 步, 设 置TTable 组 件 的DataBase Name( 别 名)、TableName ( 表 格 名)、TableType( 数 据 库 类 型);
源代码网推荐
源代码网推荐 ---- 第 二 步, 调 用Table.FieldDefs.Add(const Name: string;
源代码网推荐
源代码网推荐 ---- DataType: TFieldType; Size: Word; Required: Boolean) 增 加 表 格的 各 个 字 段, 其 中Name 为 字 段 名,DataType 为 字 段 类 型( 常 用 的 有 ftInteger,ftString,ftDate,ftBoolean 等),Size 为 字 段 长 度, Required 为 该 字 段 是 否 允 许 有 空 值。
源代码网推荐
源代码网推荐 ---- 第 三 步, 调 用Table.IndexDefs.Add(const Name, Fields: string; Options: TIndexOptions) 方 法 增 加 表 格 的 索 引 文 件, 其 中 Name 为 索 引 文 件 名,Fields 为 索 引 字 段,options 为 索 引 参 数 的 集 合, 常 用 的 索 引 参 数 有ixPrimary( 主 键)、 ixDescending( 降 序)、 ixUnique( 具 有 唯 一 值) 等。 软件开发网 www.mscto.com
源代码网推荐
源代码网推荐 ---- 第 四 步, 调 用Table.CreateTable 建 立 表 格。
源代码网推荐
源代码网推荐 ---- 三、 一 个 实 例
源代码网推荐
源代码网推荐 ---- 在Form1.Formcreate 事 件 中 写 入 如 下 代 码, 程 序 启 动 时, 将 自 动 检 测 是 否 存 在 数 据 库 别 名Cntssamp, 如 果 没 有 则 建 立 之; 自 动 检 测 别 名Cntssamp 中 是 否 存 在 表 格TSK( 图 书 库), 如 果 没 有 则 自 动 建 立 表 格TSK。
源代码网推荐
源代码网推荐 procedure TForm1.FormCreate(Sender: TObject);
源代码网推荐 var
源代码网推荐 ap:TStringList; {字符串列表变量}
源代码网推荐 answer:Integer;
源代码网推荐 begin
源代码网推荐 ap:=TStringlist.Create;
源代码网推荐 Session.GetAliasNames(ap); {取得别名列表}
源代码网推荐 if (ap.IndexOf("Cntssamp")=-1) then {判断别名是否存在}
源代码网推荐 begin
源代码网推荐 answer:=Application.MessageBox(
源代码网推荐 "别名Cntssamp不存在,
源代码网推荐 现在创建吗?","BDE信息窗口",mb_OKCancel);
源代码网推荐 {增加一个名为Cngzsamp的数据库别名}
源代码网推荐 if answer=IDCANCEL then begin
源代码网推荐 ap.Free;
源代码网推荐 Exit;
源代码网推荐 end;
源代码网推荐 Session.AddStandardAlias
源代码网推荐 ("Cntssamp","c:delphp11","Paradox");
源代码网推荐 Session.SaveConfigFile; {BDE配置文件存盘}
源代码网推荐 end ;
源代码网推荐
源代码网推荐 ap.Clear; {取得别名Cngzsamp中的所有表格名称列表}
源代码网推荐 Session.GetTableNames
源代码网推荐 ("Cntssamp","",False,False,ap);
源代码网推荐 if (ap.IndexOf("TSK")=
源代码网推荐 -1) then {判断表格是否存在}
源代码网推荐 begin
源代码网推荐 answer:=Application.MessageBox(
源代码网推荐 "别名Cntssamp中不存在
源代码网推荐 表格TSK,现在创建吗?","表格信息窗口
源代码网推荐 ",mb_OKCancel);
源代码网推荐 if answer=IDCANCEL then begin
源代码网推荐 ap.Free;
源代码网推荐 Exit;
源代码网推荐 end;
源代码网推荐 with table1 do begin
源代码网推荐 Active:=false;
源代码网推荐 DatabaseName:="Cntssamp"; {数据库别名}
源代码网推荐 TableName:="TSK"; {表格名}
源代码网推荐 TableType:=ttParadox; {数据库类型}
源代码网推荐 with FieldDefs do begin {增加字段}
源代码网推荐 Clear;
源代码网推荐 Add("SH",ftString,30,False); {书号 String(30)}
源代码网推荐 Add("SM",ftString,30,False); {书名 String(30)}
源代码网推荐 Add("CBS",ftString,20,False); {出版社 String(20)}
源代码网推荐 Add("CBRQ",ftDate,0,False); {出版日期 Date}
源代码网推荐 Add("YS",ftInteger,0,False); {页数 Integer}
源代码网推荐 end;
源代码网推荐 with IndexDefs do begin {增加索引}
源代码网推荐 Clear; {按书号字段建立主索引}
源代码网推荐 Add("SHSY","SH",[ixPrimary,ixUnique]);
源代码网推荐 end;
源代码网推荐 CreateTable; {创建表格}
源代码网推荐 end;
源代码网推荐 end ;
源代码网推荐 ap.free; {释放变量ap}
源代码网推荐 end;


源代码网推荐

源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华