• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      VB連接數(shù)據(jù)庫(kù)

      2010-06-13 11:32:56張妍垚孫曦東
      微處理機(jī) 2010年3期
      關(guān)鍵詞:窗體數(shù)據(jù)源控件

      張妍垚,孫曦東

      (中國(guó)電子科技集團(tuán)公司第四十七研究所,沈陽(yáng)110032)

      1 引言

      器件目錄數(shù)據(jù)庫(kù)系統(tǒng)開(kāi)發(fā)設(shè)計(jì)的目的是為了提高長(zhǎng)期以來(lái)器件數(shù)據(jù)散亂、查找困難等問(wèn)題。隨著計(jì)算機(jī)技術(shù)的發(fā)展及其在數(shù)據(jù)庫(kù)上的強(qiáng)大應(yīng)用,能夠幫助創(chuàng)建出完備的器件目錄的應(yīng)用程序。

      2 引入數(shù)據(jù)庫(kù)軟件的原由

      在VB編程中常要與數(shù)據(jù)庫(kù)打交道,雖然可以選擇各種數(shù)據(jù)庫(kù)格式,但對(duì)于數(shù)據(jù)量較小的應(yīng)用,一般選用Access作為數(shù)據(jù)庫(kù)。因?yàn)锳ccess數(shù)據(jù)庫(kù)比較簡(jiǎn)單,功能也比較齊全,數(shù)據(jù)的備份、拷貝都很方便,且程序發(fā)布時(shí)不需要額外單獨(dú)安裝其它的數(shù)據(jù)庫(kù)管理軟件。因此,在功能能夠滿(mǎn)足要求的條件下,Access數(shù)據(jù)庫(kù)往往成為小型數(shù)據(jù)庫(kù)軟件的首選。而且最容易使用的還是Visual Basic的數(shù)據(jù)庫(kù)格式—Microsoft Access,因?yàn)?Visual Basic與Microsoft Access互相支持,可以使用豐富的特性集。

      3 數(shù)據(jù)庫(kù)基本概念

      3.1 表

      表是由行和列組成的數(shù)據(jù)集合,行叫做記錄(Record),列叫做字段(Field)。

      3.2 關(guān)系

      所謂表和表之間的關(guān)系,一般情況下就是指某個(gè)表中的主關(guān)鍵字和另外一個(gè)表中的外關(guān)鍵字之間的對(duì)應(yīng)關(guān)系。

      3.3 查詢(xún)

      查詢(xún)不是數(shù)據(jù)庫(kù)中存儲(chǔ)的表,而是按照各種規(guī)則和要求“查”出來(lái)的表。

      4 VB數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)

      Jet數(shù)據(jù)庫(kù)引擎(Microsoft Joint Engineering Technologe)是應(yīng)用程序和數(shù)據(jù)庫(kù)之間的一種接口。它將與數(shù)據(jù)庫(kù)相關(guān)的內(nèi)容管理、游標(biāo)管理和錯(cuò)誤處理等具體而復(fù)雜的細(xì)節(jié)問(wèn)題抽象為一個(gè)既高度一致又相對(duì)簡(jiǎn)化的編程接口。對(duì)所支持的數(shù)據(jù)庫(kù)提供統(tǒng)一的外部接口,將對(duì)記錄的操作轉(zhuǎn)化為對(duì)數(shù)據(jù)庫(kù)的物理操作?;赩B的數(shù)據(jù)庫(kù)應(yīng)用程序從邏輯上可分為三部分:用戶(hù)接口、數(shù)據(jù)庫(kù)引擎和數(shù)據(jù)庫(kù)存儲(chǔ)。由用戶(hù)接口實(shí)現(xiàn)對(duì)具體數(shù)據(jù)庫(kù)的連接,通過(guò)數(shù)據(jù)庫(kù)引擎完成數(shù)據(jù)庫(kù)存儲(chǔ)。

      ODBC Direct技術(shù)能給應(yīng)用程序數(shù)據(jù)庫(kù)訪問(wèn)加入全新的視角,可以檢索一個(gè)數(shù)據(jù)庫(kù)的大量信息。應(yīng)用程序向ODBC發(fā)出SQL語(yǔ)句并接收作為語(yǔ)句結(jié)果的數(shù)據(jù)。數(shù)據(jù)源是已安裝的數(shù)據(jù)庫(kù)服務(wù)器,ODBC把特殊的ODBC驅(qū)動(dòng)程序和一個(gè)指定的數(shù)據(jù)庫(kù)聯(lián)合起來(lái),數(shù)據(jù)源定位在本地硬盤(pán)或網(wǎng)絡(luò)上。

      最主要的就是用Active X數(shù)據(jù)對(duì)象ADO(active x data objects)這種新的數(shù)據(jù)訪問(wèn)標(biāo)準(zhǔn)代替了原有的訪問(wèn)對(duì)象DAO(date access object)和遠(yuǎn)程數(shù)據(jù)訪問(wèn)對(duì)象RDO(remote date objects)。

      5 ADO組件

      Microsoft ActiveX Data Objects(ADO):使客戶(hù)端應(yīng)用程序能通過(guò)OLE DB提供者訪問(wèn)和操作數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)。

      ActiveX Data Objects Extensions for DDL and Security(ADOX):將ADO擴(kuò)展為包括創(chuàng)建、修改和刪除的模式對(duì)象,如表格和過(guò)程,以及包括用于維護(hù)用戶(hù)和組以及管理對(duì)象權(quán)限的安全對(duì)象。

      ActiveX Data Objects(Multidimensional)(ADO MD):將ADO擴(kuò)展為包括指定到多維數(shù)據(jù)的對(duì)象,并允許瀏覽多維模式、查詢(xún)立方和檢索結(jié)果。

      ADO具有高度的靈活性,它可以使用相同的編程模式連接到不同的數(shù)據(jù)提供者,而不管給定提供者的特定特性,具有較低的內(nèi)存占用率。

      具有遠(yuǎn)程數(shù)據(jù)服務(wù)(RDS)功能,通過(guò)RDS可以在一次往返過(guò)程中將數(shù)據(jù)從服務(wù)器移動(dòng)到客戶(hù)端應(yīng)用程序或Web頁(yè),并在客戶(hù)端對(duì)數(shù)據(jù)進(jìn)行處理后將更新結(jié)果返回服務(wù)器。

      同傳統(tǒng)的數(shù)據(jù)對(duì)象層次(DAO和RDO)不同,ADO可以獨(dú)立創(chuàng)建,也可以只創(chuàng)建一個(gè)“Connection”對(duì)象,然后由多個(gè)獨(dú)立的“Recordset”對(duì)象來(lái)使用它。

      ODBC本身是以SQL Server、Oracle等關(guān)系數(shù)據(jù)庫(kù)作為訪問(wèn)對(duì)象,而OLE DB則不僅限于此,它還可以對(duì)電子郵件、文本文件、復(fù)合文件、數(shù)據(jù)表等各種各樣的數(shù)據(jù)通過(guò)統(tǒng)一的接口進(jìn)行存取。

      6 VB6.0在器件目錄數(shù)據(jù)庫(kù)中的應(yīng)用

      首先在Access中創(chuàng)建一個(gè)名為“mulu”的表,該表由以下9個(gè)字段組成:ID為Access的“mulu”表的主鍵字段,然后直接設(shè)置后8個(gè)字段,在輸入完了mulu表的各個(gè)字段之后,關(guān)閉表設(shè)計(jì)器,Access會(huì)提示是否要進(jìn)行保存表,選擇“是”,然后為表起名為“mulu”。因?yàn)闆](méi)有定義主鍵(primary Key),Access會(huì)提示為表加上一個(gè)主鍵,按提示將ID設(shè)置為主鍵即可。設(shè)置完以上字段后,再調(diào)用Visual Basic程序。

      調(diào)用Visual Basic程序先安裝ADO,在VB的“工程”/“引用”對(duì)話(huà)框中選擇“ActiveX Data Object 2.8 Library”(ADODB)。并將ADO數(shù)據(jù)控件添加到工具箱中,選擇“工程”菜單中“部件”項(xiàng),選中“Microsoft ADO Data Control 6.0(OLEDB)”,并單擊“確定”按鈕。

      然后創(chuàng)建一個(gè)新窗體,設(shè)計(jì)新窗體屬性。在工具箱中雙擊ADO數(shù)據(jù)控件的圖標(biāo)(Adodc),向窗體中添加一個(gè)ADO控件,設(shè)計(jì)ADO控件屬性,選擇使用連接字符串后,選擇生成。在提供程序中選擇“Microsoft OLE DB Provider for ODBC Drivers“后,選擇下一步。連接中指定數(shù)據(jù)源選擇使用數(shù)據(jù)源名稱(chēng),然后在下拉列表中選擇MS Access Database,在輸入要使用的初始目錄中輸入記錄源中Access數(shù)據(jù)庫(kù)的名稱(chēng)后,測(cè)試連接,提示測(cè)試連接成功后點(diǎn)擊確定,否則重新輸入。命令類(lèi)型選擇2-adCmdTable,表或存儲(chǔ)過(guò)程名稱(chēng)選擇Access數(shù)據(jù)庫(kù)的名稱(chēng),即設(shè)置完ADO屬性。

      對(duì)每一個(gè)想訪問(wèn)的Access數(shù)據(jù)庫(kù)字段,在窗體上添加一個(gè)文本框,并且把VB6.0的數(shù)據(jù)控件對(duì)象與數(shù)據(jù)綁定控件一起,把數(shù)據(jù)控件放在窗體上,并設(shè)置屬性:第一個(gè)屬性DataSource,返回或設(shè)置控件的數(shù)據(jù)源。第二個(gè)屬性DataMember屬性,返回或設(shè)置要使用的源中的指定數(shù)據(jù)集。第三個(gè)屬性DataField,返回或設(shè)置要綁定控件的指定字段。作為綁定到窗體控件中數(shù)據(jù)的一個(gè)直接數(shù)據(jù)源,要將數(shù)據(jù)環(huán)境對(duì)象中一個(gè)“用戶(hù)”Command對(duì)象的字段“用戶(hù)名”綁定到窗體中的一個(gè)TextBox控件中去,則需要執(zhí)行下列步驟:先將一個(gè)TextBox控件放到Visual Basic窗體中;在“屬性”窗口中,單擊Datasource(“數(shù)據(jù)源”)屬性,選擇您想綁定到控件的 DataEnvironment對(duì)象,如“Adodc1”;單擊 DataMember屬性,并選擇數(shù)據(jù)環(huán)境中的Command對(duì)象“rst用戶(hù)”;單擊DataField屬性,從綁定到控件的“rst用戶(hù)”Command對(duì)象中選擇字段“用戶(hù)名”。這樣,就完成了綁定工作。還有一種更快捷、簡(jiǎn)便的方法,就是將需要綁定的Command對(duì)象拖到窗體中,則窗體就會(huì)自動(dòng)生成這個(gè)對(duì)象所有字段的標(biāo)簽(Label)名和數(shù)據(jù)操作及顯示區(qū)(TextBox)。

      編程訪問(wèn)數(shù)據(jù)環(huán)境設(shè)計(jì)器中的對(duì)象。要從一個(gè)Visual Basic窗體中編程訪問(wèn)數(shù)據(jù)環(huán)境中的對(duì)象“用戶(hù)”記錄,則按照以下步驟執(zhí)行:在窗體中建一個(gè)ListBox控件,在控件中輸入目錄名。附加到這個(gè)控件的代碼是用于將“用戶(hù)”表中的記錄在其余的Text-Box控件中顯示。則在按鈕的Click事件中添加下面的代碼:

      用戶(hù).Text=rst.Fields(索引標(biāo)識(shí))

      示意程序如下(程序示意圖如下):

      Dim con As ADODB.Connection

      Dim rst As ADODB.Recordset

      Dim strsql,strsql1 As String

      Set con=New ADODB.Connection

      Set rst=New ADODB.Recordset

      con.ConnectionString="Provider=MSDASQL.1;Persist Security Info=False;Data Source=MS Access Database;Initial Catalog=e:mulu.mdb"

      con.Open

      strsql1="select*from[mulub]where[name]like '" & Trim(List1.Text)& " '" 'rst.Open strsql1,con,adOpenKeyset,adLockOptimistic

      With rst

      .CursorLocation=adUseClient

      .CursorType=adOpenDynamic

      .LockType=adLockOptimistic

      .Open strsql1,con,3,3

      End With

      If rst.RecordCount > 0 Then

      Text4.Text=rst.Fields(0)

      If Not IsNull(rst.Fields(2))Then

      Text1.Text=rst.Fields(2)

      Else

      Text1.Text=""

      End If

      If Not IsNull(rst.Fields(3))Then

      Text2.Text=rst.Fields(3)

      Else

      Text2.Text=""

      End If

      If Not IsNull(rst.Fields(4))Then

      Text3.Text=rst.Fields(4)

      Else

      Text3.Text=""

      End If

      If Not IsNull(rst.Fields(6))Then

      Text5.Text=rst.Fields(6)

      Else

      Text5.Text=""

      End If

      Else

      MsgBox("沒(méi)發(fā)現(xiàn)項(xiàng)目名稱(chēng)")

      End If

      rst.Close

      con.Close

      End sub

      圖1 程序簡(jiǎn)單示意圖

      從上面例子可以看出,與一個(gè)ADO Recordset關(guān)聯(lián)的所有方法都可以應(yīng)用于rst用戶(hù),例如添加、更新、刪除和遍歷記錄的方法。

      7 結(jié)束語(yǔ)

      從上面說(shuō)明可以看出,VB中的數(shù)據(jù)環(huán)境就象一個(gè)大的數(shù)據(jù)控件一樣,它可以在不同的窗體中引用和操作。VB提供了強(qiáng)有力的數(shù)據(jù)庫(kù)存取能力,將WINDOWS的各種先進(jìn)特性與強(qiáng)大的數(shù)據(jù)庫(kù)管理功能有機(jī)地結(jié)合在一起。VB有很多有關(guān)文本文件的特性,可以使用這些功能打開(kāi)文本文件并且讀取文本數(shù)據(jù)。這對(duì)于我們開(kāi)發(fā)應(yīng)用程序來(lái)說(shuō),無(wú)疑提供了一個(gè)很好的數(shù)據(jù)工具。

      [1][美]E Winemiller,J Roff,B Heyman,R Groom,著.Visual Basic 6.0 數(shù)據(jù)庫(kù)開(kāi)發(fā)[M].顧斌,楊德斌,譯,北京:清華大學(xué)出版社,2001.

      [2]林永,張樂(lè)強(qiáng).Visual Basic 6.0用戶(hù)編程手冊(cè)[M](第二版).北京:人民郵電出版社,2002.

      [3]李楠,李志強(qiáng).Visual Basic 6.0入門(mén)與提高[M].北京:人民郵電出版社,1998.

      猜你喜歡
      窗體數(shù)據(jù)源控件
      試談Access 2007數(shù)據(jù)庫(kù)在林業(yè)檔案管理中的應(yīng)用
      檔案天地(2019年5期)2019-06-12 05:12:02
      關(guān)于.net控件數(shù)組的探討
      軟件(2018年7期)2018-08-13 09:44:42
      Web 大數(shù)據(jù)系統(tǒng)數(shù)據(jù)源選擇*
      基于不同網(wǎng)絡(luò)數(shù)據(jù)源的期刊評(píng)價(jià)研究
      基于真值發(fā)現(xiàn)的沖突數(shù)據(jù)源質(zhì)量評(píng)價(jià)算法
      基于LayeredWindow的異形窗體局部刷新
      中文信息(2014年2期)2014-03-06 23:49:14
      分布式異構(gòu)數(shù)據(jù)源標(biāo)準(zhǔn)化查詢(xún)?cè)O(shè)計(jì)與實(shí)現(xiàn)
      巧設(shè)WPS窗體控件讓表格填寫(xiě)更規(guī)范
      就這樣玩會(huì)VBA中常見(jiàn)的自定義控件
      電腦迷(2012年24期)2012-04-29 00:44:03
      WinCE.net下圖形用戶(hù)界面的開(kāi)發(fā)
      松潘县| 内黄县| 常德市| 吉隆县| 陆川县| 汉川市| 葵青区| 邹城市| 纳雍县| 溆浦县| 沂水县| 和平县| 阿城市| 酉阳| 红原县| 朝阳市| 天峨县| 广德县| 丰宁| 手游| 鄂伦春自治旗| 淳安县| 长治市| 东至县| 乐平市| 正宁县| 隆化县| 永吉县| 大渡口区| 巴中市| 梧州市| 仁怀市| 文山县| 老河口市| 郓城县| 临海市| 乌兰察布市| 荔浦县| 沁阳市| 关岭| 图木舒克市|