国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開(kāi)發(fā)教程 > 詳細(xì)頁(yè)面

Delphi中數(shù)據(jù)文件路徑的管理

Delphi中數(shù)據(jù)文件路徑的管理

更新時(shí)間:2022-05-06 文章作者:未知 信息來(lái)源:網(wǎng)絡(luò) 閱讀次數(shù):

Delphi中的Table控件(Component)和Query控件都有一個(gè)DatabaseName屬性。可以用DatabaseName屬性來(lái)指定該控件所引用的數(shù)據(jù)表的路徑。有兩種方法可以為屬性DatabaseName設(shè)置路徑:第一種方法是直接輸入數(shù)據(jù)表所在路徑,另一種方法是使用數(shù)據(jù)庫(kù)別名(Alias)。在Delphi中,數(shù)據(jù)庫(kù)別名是在數(shù)據(jù)庫(kù)引擎(BDE)中建立的,一個(gè)別名對(duì)應(yīng)一個(gè)文件路徑。可以這樣為別名下定義:別名是對(duì)文件路徑的映射,是文件路徑的簡(jiǎn)稱。因此,在屬性DatabaseName中使用數(shù)據(jù)庫(kù)別名和使用文件路徑實(shí)質(zhì)都是一樣的,它們都作為查找數(shù)據(jù)表的根(Root)路徑。但是,在數(shù)據(jù)庫(kù)應(yīng)用程序的設(shè)計(jì)中,如果涉及到的Table控件和Query控件比較多的話,那么使用別名來(lái)引用文件路徑就十分高效、方便,并且不容易出差錯(cuò)。原因是顯而易見(jiàn)的:一方面,別名可以在列表中直接選取而不必像文件路徑那樣從鍵盤(pán)上輸入;另一方面,別名可以設(shè)置得很簡(jiǎn)短,即使從鍵盤(pán)錄入也比較快捷。因此,筆者建議要多使用數(shù)據(jù)庫(kù)別名而少使用文件路徑。

  另外,在Table控件的屬性TableName和Query控件的SQL語(yǔ)句中,都可以包含數(shù)據(jù)表的路徑信息。因?yàn)镼uery控件和Table控件的情況十分相似,所以下面只對(duì)Table控件進(jìn)行說(shuō)明。這種路徑信息既可以是一個(gè)完整的路徑,也可以是一個(gè)完整路徑的后面部分。比如對(duì)Table控件的屬性TableName賦值時(shí),可以把C:DelphiDemosDataCustomerDB賦給它,也可以把DataCustomerDB賦給它。

  在實(shí)際應(yīng)用中,我們可以把Table控件的屬性DatabaseName和屬性TableName結(jié)合起來(lái)使用。把屬性DatabaseName中的路徑作為根路徑,把屬性TableName中的不完整路徑(如果有的話)作為子路徑。把這兩個(gè)路徑結(jié)合起來(lái)就是訪問(wèn)到數(shù)據(jù)表的一個(gè)完整的路徑。比如,假設(shè)在路徑C:DelphiDemosData下存在數(shù)據(jù)表CustomerDB,把Table控件的屬性DatabaseName指定為C:DelphiDemosData,然后把屬性TableName指定為CustomerDB,就可以訪問(wèn)數(shù)據(jù)表CustomerDB了。如果屬性DatabaseName指定為C:DelphiDemos,要想訪問(wèn)數(shù)據(jù)表CustomerDB,只要把屬性TableName指定為dataCustomerDB就行了。有時(shí)候這二者并不同時(shí)起作用。例如,如果屬性TableName中包括了完整的路徑,那么屬性DatabaseName中的路徑就不起任何作用了。又如,如果屬性DatabaseName中沒(méi)有指定任何路徑,而屬性TableName中的路徑又是不完整的,如DataCustomerDB,那么應(yīng)用程序運(yùn)行時(shí)的當(dāng)前路徑就作為根路徑。為了便于程序移植,筆者有兩點(diǎn)建議:
  1、通常,只需要在屬性DatabaseName中指定數(shù)據(jù)表的路徑,而在屬性TableName中不必包括路徑信息。
  2、一般情況下,不要在屬性TableName中指定完整的路徑。

  下面就來(lái)介紹一下如何提高數(shù)據(jù)庫(kù)應(yīng)用程序的移植性。
  數(shù)據(jù)庫(kù)應(yīng)用程序的移植是一個(gè)重要的問(wèn)題。因?yàn)樵跀?shù)據(jù)庫(kù)應(yīng)用程序中要訪問(wèn)數(shù)據(jù)庫(kù)或數(shù)據(jù)表,就要涉及到數(shù)據(jù)文件的路徑。一般來(lái)說(shuō),數(shù)據(jù)庫(kù)應(yīng)用程序開(kāi)發(fā)完成后要移植到其它機(jī)器上使用,因此數(shù)據(jù)庫(kù)應(yīng)用程序運(yùn)行時(shí)的數(shù)據(jù)文件的路徑很可能和開(kāi)發(fā)時(shí)的不同。所以必須對(duì)數(shù)據(jù)文件的路徑進(jìn)行有效的管理,以便于系統(tǒng)的移植。下面介紹三種管理數(shù)據(jù)文件路徑的方法。
  1、把數(shù)據(jù)文件建立在應(yīng)用程序所在目錄的子目錄下。具體過(guò)程為:
  (1)為了設(shè)計(jì)起來(lái)方便,在設(shè)計(jì)時(shí)可以使用數(shù)據(jù)庫(kù)別名,且該數(shù)據(jù)庫(kù)別名指向應(yīng)用程序所在路徑。把子路徑名加上數(shù)據(jù)表名字之后賦給Table控件的屬性TableName。
  (2)在發(fā)行應(yīng)用程序前,把所有的Table控件或Query控件的屬性Active都置為False,刪除屬性DatabaseName中的所有字符(即置空)。
  在缺省情況下,應(yīng)用程序運(yùn)行時(shí)的當(dāng)前目錄是應(yīng)用程序所在的目錄。如果在應(yīng)用程序中沒(méi)有調(diào)用ChDir等過(guò)程改變當(dāng)前目錄的話,那么就不必執(zhí)行第三步,否則進(jìn)行第三步的處理。
  (3)在使用到Table控件和/或Query控件的窗體的創(chuàng)建(OnCreate)事件中,把應(yīng)用程序所在路徑賦給該窗體中的每一個(gè)Table控件和Query控件。具體的形式如下所示:
  Table對(duì)象(或Query對(duì)象)DatabaseName:=ExtractFilePath(ApplicationExeName);

  2、利用配置文件存放數(shù)據(jù)庫(kù)路徑
  此方法是在應(yīng)用系統(tǒng)安裝或第一次運(yùn)行時(shí)把數(shù)據(jù)庫(kù)路徑信息寫(xiě)入配置文件,以后運(yùn)行時(shí)把路徑信息從配置文件中讀出。配置文件的讀寫(xiě)利用類TIniFile(Delphi1.0和Delphi3.0) 、類TRegIniFile(Delphi 3.0/4.0)和類TRegistry(Delphi3.0/4.0)所提供的方法來(lái)實(shí)現(xiàn)。各個(gè)方法具體的用法請(qǐng)查閱Delphi聯(lián)機(jī)幫助。本方法的基本思路為:
  (1)為了設(shè)計(jì)方便,在設(shè)計(jì)時(shí)可以使用數(shù)據(jù)庫(kù)別名。
  (2)同1的步驟(2),但必須進(jìn)行第三步的處理。
  (3)同1的步驟(3)類似。即,在窗體的創(chuàng)建事件中把數(shù)據(jù)庫(kù)路徑賦給該窗體中的每一個(gè)Table控件和Query控件,用形式化語(yǔ)言描述如下:
  Table對(duì)象(或Query對(duì)象)DatabaseName:=配置文件記錄中的數(shù)據(jù)庫(kù)路徑。

  3、利用數(shù)據(jù)庫(kù)別名存放數(shù)據(jù)庫(kù)路徑
  在設(shè)計(jì)時(shí)使用數(shù)據(jù)庫(kù)別名。在應(yīng)用系統(tǒng)安裝或第一次運(yùn)行時(shí)利用系統(tǒng)對(duì)象Session在BDE中建立與設(shè)計(jì)時(shí)相同的別名,使別名指向相應(yīng)的數(shù)據(jù)庫(kù)路徑。下面的代碼說(shuō)明了如何建立名字為“FDB”的別名,它的數(shù)據(jù)庫(kù)路徑為d: est,數(shù)據(jù)庫(kù)類型為Paradox。
  Session.ConfigMode:=cmAll;
  Session.AddStandardAlias(′FDB′,′d: est′,′PARADOX′);
  Session.SaveConfigFile; {保存新建立的別名}

  注:在Delphi1.0中Session對(duì)象不具有第三種方法中所用到的屬性和方法。以上三行代碼在Delphi3.0/4.0下調(diào)試通過(guò)。

  從上面的討論可以看出,方法三實(shí)現(xiàn)起來(lái)最簡(jiǎn)單,其次是方法一,最后是方法二。筆者認(rèn)為,如果應(yīng)用系統(tǒng)是用Delphi3.0/4.0開(kāi)發(fā)的,那么應(yīng)盡量使用方法三。

溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

本類教程下載

系統(tǒng)下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        亚洲男同性恋视频| 色悠悠久久综合| 国产美女精品人人做人人爽| 欧美三级韩国三级日本三斤| 亚洲国产综合人成综合网站| 欧美影视一区在线| 同产精品九九九| 精品成a人在线观看| 国产一区二区三区香蕉| 日本一区二区三区国色天香 | 国产在线精品一区在线观看麻豆| 精品三级av在线| 不卡的av中国片| 一级中文字幕一区二区| 日韩一卡二卡三卡四卡| 粉嫩aⅴ一区二区三区四区五区| 中文字幕字幕中文在线中不卡视频| 色悠久久久久综合欧美99| 免费在线成人网| 亚洲丝袜精品丝袜在线| 宅男噜噜噜66一区二区66| 久久www免费人成看片高清| 国产精品电影院| 日韩欧美一级在线播放| 91在线视频18| 韩国欧美国产1区| 亚洲一区免费在线观看| 欧美国产日韩a欧美在线观看| 欧美日韩国产免费| 91丨porny丨首页| 国产一区二区三区日韩| 亚洲h在线观看| 亚洲猫色日本管| 国产日韩欧美一区二区三区乱码 | 91在线精品秘密一区二区| 日韩电影在线观看电影| 国产精品初高中害羞小美女文| 欧美精品777| 色久优优欧美色久优优| 国产精品一色哟哟哟| 免费在线看成人av| 日韩成人免费在线| 亚洲成人动漫在线免费观看| 中文字幕佐山爱一区二区免费| 久久久国际精品| 精品成人在线观看| 4hu四虎永久在线影院成人| 日本韩国视频一区二区| 99久久精品国产观看| 国产成人免费视频网站| 国产一区二区三区在线观看精品 | 亚洲柠檬福利资源导航| 国产精品超碰97尤物18| 中文在线一区二区| 国产欧美日韩在线| 国产女人aaa级久久久级| 国产婷婷色一区二区三区 | 中文子幕无线码一区tr| 国产欧美日本一区视频| 久久免费看少妇高潮| 日韩欧美色电影| 日韩一区二区三区视频在线观看| 欧美另类高清zo欧美| 欧美日本精品一区二区三区| 欧美三级资源在线| 欧美男人的天堂一二区| 欧美精品自拍偷拍动漫精品| 91精品国产色综合久久不卡蜜臀| 正在播放一区二区| 337p粉嫩大胆色噜噜噜噜亚洲 | 欧美综合在线视频| 欧美影院一区二区| 欧美丰满少妇xxxxx高潮对白| 欧美精品第一页| 精品少妇一区二区三区免费观看 | 蜜桃精品在线观看| 久久精品国产77777蜜臀| 国产露脸91国语对白| 播五月开心婷婷综合| 欧美影片第一页| 2014亚洲片线观看视频免费| 亚洲国产精品黑人久久久 | 欧美激情综合网| 中文字幕一区二| 午夜精品久久久久久| 精品一区二区三区日韩| 国产91在线观看| 在线观看免费成人| 亚洲精品一区二区精华| 亚洲老司机在线| 久久99精品久久久久久| 97成人超碰视| 日韩区在线观看| 亚洲日本在线看| 久久超级碰视频| 色综合天天狠狠| 欧美mv日韩mv亚洲| 一区二区三区国产精品| 国产一区二区三区久久久| 在线观看欧美黄色| 中文字幕不卡在线播放| 日韩—二三区免费观看av| 不卡的av电影在线观看| 日韩午夜精品电影| 亚洲一区中文在线| 成人理论电影网| 日韩天堂在线观看| 亚洲一二三四在线观看| 国产不卡在线视频| 日韩一区二区三区视频| 亚洲最新视频在线观看| 国产999精品久久久久久绿帽| 3d动漫精品啪啪| 亚洲一区二区三区四区五区中文 | 在线观看亚洲a| 中文字幕一区二区三区在线播放| 玖玖九九国产精品| 欧美日韩亚洲不卡| 亚洲天堂免费在线观看视频| 国产精品综合久久| 精品国产伦一区二区三区观看方式| 一区二区理论电影在线观看| 成人动漫一区二区| 国产精品久久久久久久久久久免费看| 国内精品伊人久久久久av一坑| 欧美日韩免费在线视频| 一区二区三区国产精华| 91影院在线免费观看| 国产精品视频麻豆| 国产91在线看| 国产精品国产三级国产三级人妇| 成人一区二区视频| 国产精品福利在线播放| 99久久精品久久久久久清纯| 国产精品国产三级国产普通话99| gogogo免费视频观看亚洲一| 国产精品伦理在线| 99久久99久久精品免费看蜜桃| 国产精品国产三级国产aⅴ无密码| 国产精品1区2区| 国产欧美精品一区二区三区四区 | 99re6这里只有精品视频在线观看| 久久精品一区二区三区不卡牛牛 | 欧美亚洲动漫精品| 亚洲国产裸拍裸体视频在线观看乱了 | 麻豆成人综合网| 欧美成人三级电影在线| 国内精品嫩模私拍在线| 久久久久久久一区| 粉嫩一区二区三区在线看| 综合激情网...| 欧美日韩午夜精品| 久久精品国产网站| 国产欧美综合在线观看第十页| 99视频在线精品| 香蕉久久夜色精品国产使用方法 | 欧美日韩激情一区| 美腿丝袜亚洲综合| 欧美xxx久久| 成人黄色国产精品网站大全在线免费观看| 中文字幕免费一区| 日本精品一级二级| 精品在线亚洲视频| 亚洲欧美成人一区二区三区| 欧美一区二区三区性视频| 国产麻豆91精品| 亚洲精品大片www| 日韩欧美中文字幕精品| 成人手机电影网| 日本不卡一二三区黄网| 中国色在线观看另类| 欧美日韩精品一区二区三区四区| 狠狠色丁香婷婷综合久久片| 中文字幕一区二区三区四区| 日韩精品自拍偷拍| 99视频精品在线| 蜜臀久久久99精品久久久久久| 国产精品乱子久久久久| 精品久久久网站| 欧美在线制服丝袜| 成人理论电影网| 国产曰批免费观看久久久| 亚洲精品视频在线看| 国产午夜精品久久| 精品美女一区二区| 欧美日韩一区二区三区四区| 成人午夜激情在线| 国产真实乱子伦精品视频| 亚洲一区影音先锋| 亚洲裸体xxx| 亚洲国产高清在线观看视频| 在线不卡的av| 色噜噜狠狠色综合中国| 国产成人在线色| 精品一区二区国语对白| 日本麻豆一区二区三区视频| 亚洲综合区在线| 亚洲综合久久av| 亚洲日本一区二区三区| 国产精品免费视频一区|