国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

VB中遠(yuǎn)程數(shù)據(jù)庫的訪問(1)-數(shù)據(jù)連接

2019-11-18 17:48:13
字體:
供稿:網(wǎng)友
在VB中,用microsoftjet數(shù)據(jù)庫引擎和數(shù)據(jù)訪問對(duì)象DAO(dataaccessobject)可以創(chuàng)建功能強(qiáng)大的客戶/服務(wù)器應(yīng)用程序。對(duì)遠(yuǎn)程數(shù)據(jù)庫的訪問是開發(fā)這類應(yīng)用程序的關(guān)鍵環(huán)節(jié),本文將介紹在VB中用DAO通過miscrosoftjet數(shù)據(jù)庫引擎訪問遠(yuǎn)程數(shù)據(jù)庫的方法。

  用DAO訪問遠(yuǎn)程數(shù)據(jù)庫大體上可以通過三步來實(shí)現(xiàn),即數(shù)據(jù)連接、數(shù)據(jù)處理和斷開連接。下面主要介紹數(shù)據(jù)連接和數(shù)據(jù)處理的具體操作。

一、數(shù)據(jù)連接

  DAO一般通過鏈接遠(yuǎn)程表的方式來進(jìn)行數(shù)據(jù)連接。這樣,數(shù)據(jù)雖然駐留在遠(yuǎn)程數(shù)據(jù)源上,但在本地的microsoftjet數(shù)據(jù)庫中可以存儲(chǔ)與遠(yuǎn)程數(shù)據(jù)的永久性連接,同時(shí)緩存鏈接的表結(jié)構(gòu)信息,從而在下一次訪問該表時(shí),不用再次從服務(wù)器中檢索這些結(jié)構(gòu)信息,加快了連接速度。一旦鏈接了一個(gè)表,該鏈接便會(huì)保留在各會(huì)話期間,直到連接斷開。鏈接遠(yuǎn)程表的具體操作是:

用opendatabase方法打開將要包含該鏈接的本地microsoftjet數(shù)據(jù)庫

用createtabledef方法在該數(shù)據(jù)庫中創(chuàng)建一個(gè)新的tabledef對(duì)象

將tabledef對(duì)象的connect屬性設(shè)置為一個(gè)合法的連接字符串,標(biāo)識(shí)要訪問的遠(yuǎn)程數(shù)據(jù)庫類型、數(shù)據(jù)文件的路徑以及用戶名和遠(yuǎn)程數(shù)據(jù)源密碼等。

將tabledef對(duì)象的sourcetablename屬性設(shè)置為遠(yuǎn)程數(shù)據(jù)庫中要訪問的表的名稱。

添加tabledef對(duì)象到tabledefs集合中。

實(shí)現(xiàn)鏈接遠(yuǎn)程表操作的過程如下:

publicsublinktable(strdbasstring,strrodbasstring,strcnasstring,strtdfasstring,_linktdfnameasstring)

dimlinktdfasnewtabledef

setdbs=opendatabase(strdb)

linktdf.name=linktdfname

100

temptable=ucase(linktdf.name)

fori=0todbs.tabledefs.count-1

ifucase(dbs.tabledefs(i).name)=temptablethen

ifmsgbox(linktdfname "已存在,是否刪除?",_

vbquestion vbyesno)=vbyesthen

dbs.tabledefs.deletelinktdf.name

exitfor

else:msgbox"重新輸入新表名"

linktdfname=inputbox("新表名")

goto100

endif

endif

nexti

setlinktdf=dbs.createtabledef(linktdfname)'鏈接遠(yuǎn)程表

linktdf.connect=";database=" strcn

linktdf.sourcetablename=strtdf

dbs.tabledefs.appendlinktdf

endsub

上述過程用來實(shí)現(xiàn)遠(yuǎn)程表的連接,它有5個(gè)參數(shù),其中strrodb是要訪問的遠(yuǎn)程數(shù)據(jù)庫名(包括路徑);strtdf是該數(shù)據(jù)庫中的表名;strdb是要鏈接的本地?cái)?shù)據(jù)庫(包括路徑);linktdfname是本地?cái)?shù)據(jù)庫的一個(gè)新表名,用來建立遠(yuǎn)程表的鏈接;strcn是指定連接信息的字符串。需要特別注意的是,除了在訪問遠(yuǎn)程microsoftjet數(shù)據(jù)庫時(shí),連接字符串要以分號(hào)(;)開頭外,指定連接信息的字符串都必須以所訪問的遠(yuǎn)程數(shù)據(jù)庫類型開頭。DAO可以訪問的遠(yuǎn)程數(shù)據(jù)源有以下三類:

.microsoftjet數(shù)據(jù)源,如:access數(shù)據(jù)。

.iisam(可安裝的索引化順序訪問方法)格式數(shù)據(jù)源,如:foxPRo、paradox、dbase數(shù)據(jù)。

.odbc數(shù)據(jù)源,如:sqlserver數(shù)據(jù)、Oracle數(shù)據(jù)。

  例如:設(shè)網(wǎng)絡(luò)服務(wù)器名為server,共享目錄為c:/sales的foxpro3.0數(shù)據(jù)庫,連接字符串應(yīng)為

strcn="foxpro3.0;database=//server/c$/sales/region1"

  此外,DAO通過microsoftjet數(shù)據(jù)庫引擎訪問遠(yuǎn)程數(shù)據(jù)時(shí),還可以用opendatabase方法直接打開遠(yuǎn)程表。在本地?cái)?shù)據(jù)庫中并未存儲(chǔ)與遠(yuǎn)程數(shù)據(jù)源建立連接所需要的信息。如果使用鏈接方式訪問數(shù)據(jù),則不必在每次會(huì)話開始時(shí)提供連接信息,從而可以提高效率。->


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 灵宝市| 黔西县| 特克斯县| 永吉县| 富顺县| 思南县| 淮北市| 喀什市| 郁南县| 大丰市| 东丰县| 新丰县| 疏附县| 宁强县| 大庆市| 塘沽区| 垦利县| 耿马| 定襄县| 阳城县| 凉山| 江津市| 秀山| 定南县| 洮南市| 沛县| 高邑县| 东阳市| 岳西县| 新沂市| 开平市| 治县。| 舞阳县| 牡丹江市| 高碑店市| 平顺县| 咸宁市| 房产| 弥勒县| 乌恰县| 涞源县|