⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 delp022.html

📁 对于学习很有帮助
💻 HTML
字号:
<html><!-- #BeginTemplate "/Templates/delphi.dwt" --><head><!-- #BeginEditable "doctitle" --> <title>独孤之所 - 在Delphi中建表</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><meta NAME="author" VALUE="独孤求败(Fwolf)"><!-- #EndEditable --> <style type="text/css"><!--body {  font-family: "宋体"; font-size: 9pt}td {  font-family: "宋体"; font-size: 9pt}a:hover {  text-decoration: underline}a {  text-decoration: none}input {  font-family: "宋体"; font-size: 9pt}select {  font-family: "宋体"; font-size: 9pt}--></style></head><body><table width="98%" border="0" align="center">  <tr>     <td width="33%"><a href="../../../index.html"><img src="../../../logos/fwolf9.gif" width="271" height="60" alt="独孤之所首页" border="0"></a></td>    <td width="67%">       <div align="center"> </div>    </td>  </tr></table><table width="100%" border="0" align="center" cellspacing="1" bgcolor="#66FF66">  <tr>     <td width="90%"><a href="../../../index2.html">独孤之所</a> > <a href="../../book.htm">天下文章</a>       > <a href="../delphi.html">Delphi</a> > <font color="#FF3333"><!-- #BeginEditable "2%C7%F8" -->在Delphi中建表<!-- #EndEditable --></font>     </td>    <td width="10%">       <div align="center"><a href="javascript:window.close()">[关闭窗口]</a></div>    </td>  </tr></table><hr size="1"><br><table width="584" border="0" align="center" cellspacing="1">  <tr>     <td width="582"> <font color="#FF3333">       <div align="center"><!-- #BeginEditable "%B1%EA%CC%E2" -->在Delphi中建表<!-- #EndEditable --></div>      </font> </td>  </tr>  <tr>     <td width="582">       <div align="center"><!-- #BeginEditable "%D7%F7%D5%DF" --><!-- #EndEditable --></div>    </td>  </tr>  <tr>     <td width="582"><!-- #BeginEditable "%CE%C4%B1%BE%C7%F8" -->       <center>        <p align="left">一、数据库别名(Alias)的地位 <br>            Delphi内建的数据库引擎BDE(Borland Database Engine),提供了强大的数库处理功能,BDE是Delphi数据库功能的核心部分。           <br>          <br>            以只有单机使用的本地数据库为例,Delphi程序可以直接通过BDE来控制数据库数据的存取。这种存取控制是以配置好BDE参数为前提的,具体的来说是正确设置了数据库的别名(Alias),Delphi的最常用的数据库访问组件TTable,其属性DataBaseName即为已经定义的数据库别名,在没有定义数据库别名的情况下,是不能访问具体的数据库表格的。因此,在建立数据库表格时,必须有两个过程:一是通过BDE检测相应的数据库别名是否存在,如果不存在,则应首先建立相应的数据库别名;二是检测该数据库别名(即DataBaseName)中是否存在需要建立的数据库表格,如果不存在,才建立之。这样,才能保护原有表格的数据不丢失。           <br>          <br>          <br>          二、Session组件: Delphi数据库程序与BDE的接口 <br>            Delphi自动为数据库应用程序提供了一个Session组件,这个Session组件是应用程序与BDE接口的关键。下面是Session组件关于BDE接口的几个过程的原型说明。           <br>            1.GetAliasNames(list:Tstrings);将当前BDE配置中的所有数据库别名的名称存放到List字符串列表中。           <br>          <br>            2.AddStandardAlias(const Name, Path, DefaultDriver: string);增加一个标准类型的数据库别名。例如增加一个名为Cntssamp,缺省数据库驱动程序为PARADOX、存放路径为c:\delphp11的别名:           <br>            Session.AddStandardAlias('Cntssamp','c:\delphp11','Paradox'); <br>          <br>            3.GetTableNames(const DatabaseName, Pattern: string; Extensions,SystemTables:           Boolean; List: TStrings);可将指定数据库别名中所有表格的名称存放到List字符串列表中。 <br>          <br>            4.SaveConfigFile; 将BDE配置存盘。 <br>            另外,用List.IndexOf('指定串')的值判断字符串列表中是否有需要的字符串,来决定是否应建立新的数据库别名和数据库表格。           <br>          <br>          三、一个实例 <br>            在Form1.FormCreate事件中写入如下代码,程序启动时,将自动检测是否存在数据库别名Cntssamp,如果没有则建立之;自动检测别名Cntssamp中是否存在表格TSK(图书库),如果没有则自动建立表格TSK。           <br>            procedure TForm1.FormCreate(Sender: TObject); <br>            var <br>              ap:TStringList; {字符串列表变量} <br>            answer:Integer; <br>            begin <br>             ap:=TStringlist.Create; <br>             Session.GetAliasNames(ap); {取得别名列表} <br>             if (ap.IndexOf('Cntssamp')=-1) then {判断别名是否存在} <br>             begin <br>             answer:=Application.MessageBox('别名Cntssamp不存在,现在创建吗?','BDE信息窗口',mb—OKCancel);{增加一个名为Cngzsamp的数据库别名}           <br>             if answer=IDCANCEL then <br>          begin <br>             ap.Free; <br>             Exit; <br>            end; <br>          <br>             Session.AddStandardAlias('Cntssamp','c:\delphp11','Paradox'); <br>             Session.SaveConfigFile; {BDE配置文件存盘} <br>            end ; <br>          <br>             ap.Clear; {取得别名Cngzsamp中的所有表格名称列表} <br>             Session.GetTableNames('Cntssamp','',False,False,ap); <br>             if (ap.IndexOf('TSK')=-1) then {判断表格是否存在} <br>             begin <br>             answer:=Application.MessageBox('别名Cntssamp中不存在表格TSK,现在创建吗?','表格信息窗口',mb—OKCancel);           <br>             if answer=IDCANCEL then <br>          begin <br>             ap.Free; <br>             Exit; <br>             end; <br>          <br>             with table1 do <br>          begin <br>             Active:=false; <br>             DatabaseName:='Cntssamp'; {数据库别名} <br>             TableName:='TSK';   {表格名} <br>             TableType:=ttParadox; {数据库类型} <br>              with FieldDefs do <br>          begin {增加字段} <br>             Clear; <br>             Add('SH',ftString,30,False); {书号 String(30)} <br>             Add('SM',ftString,30,False); {书名 String(30)} <br>             Add('CBS',ftString,20,False); {出版社 String(20)} <br>             Add('CBRQ',ftDate,0,False); {出版日期 Date} <br>             Add('YS',ftInteger,0,False); {页数 Integer} <br>             end; <br>          <br>             with IndexDefs do <br>          begin {增加索引} <br>             Clear; {按书号字段建立主索引} <br>             Add('SHSY','SH',[Primary,ixUnique]); <br>             end; <br>          <br>             CreateTable; {创建表格} <br>             end; <br>             end ; <br>          <br>             ap.free; {释放变量ap} <br>            end;         <div align=right></div>                        </center>      <!-- #EndEditable --></td>  </tr>  <tr>    <td width="582"><!-- #BeginEditable "%B1%B8%D7%A2" -->中国计算机报社<!-- #EndEditable --></td>  </tr></table><br><hr size="1"><table width="25%" border="1" align="center" cellspacing="0" cellpadding="0" bordercolorlight="#CCCCFF" bordercolordark="#000033" bordercolor="#6666FF">  <tr align="center">     <td> 转载请注明出于 <a href="http://fwolf.yeah.net" target="_blank">独孤之所</a><!--Fwolf出品fwolf001@163.nethttp://fwolf.yeah.net --> </td>  </tr>  <tr align="center">     <td>       <script>document.write("<a href=http://www.topcn.com/siteinfo.asp?UserName=fwolf2000&SiteType=0 target=_blank><img src=http://www1.topcn.com:8081/statistics.asp?fwolf2000&referURL="+escape(top.document.referrer)+"&curURL="+escape(top.document.URL)+"&imgStyle=0"+" border=0 alt='Top中文网站龙虎榜' ></a>");</script>      <script>document.write("<a href=http://www.textclick.com/viewmain.asp?name=fwolf2000 target=_blank><img src=http://ad.t2t2.com/stat.asp?user=fwolf2000&refer="+escape(document.referrer)+"&cur="+escape(document.URL)+" alt=太极统计 border=0></a>");</script>    </td>  </tr></table><table width="100%" border="0" align="center" cellspacing="1" bgcolor="#66FF66">  <tr>     <td width="10%"><a href="javascript:window.close()">[关闭窗口]</a></td>    <td width="90%">       <div align="left"></div>    </td>  </tr></table><div id="Layer1" style="position:absolute; width:470px; height:60; z-index:1; left: 293px; top: 13px; overflow: hidden">   <table width="100%" border="0" cellspacing="0" cellpadding="0" height="60">    <tr>       <td><a href="http://202.99.67.100/adclick2/click/random.cgi?job=go&id=1490" target="_blank"><img src="http://202.99.67.100/adclick2/click/random.cgi?id=1490" border="0" width="468" height="60"></a>       </td>    </tr>  </table></div><div align="center"></div><p align="center"> <script language="JavaScript1.1" src=http://ad.t2t2.com/textclick.asp?user=fwolf&style=4&bkcolor=no></script></p><p align="center">&nbsp; </p></body><!-- #EndTemplate --></html>

⌨️ 快捷键说明

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