VB 6.0 與 SQL Server 的兩種串連

來源:互聯網
上載者:User
                                        

Visual Basic 6.0 與 SQL Server 的兩種串連   摘 要:本文介紹了Visual Basic 6.0應用程式通過ADO串連Microsoft SQL Server的兩種方法,即有來源資料庫串連和無來源資料庫串連,分別說明了兩種串連方法的內部機制,並以執行個體比較兩種方法的優缺點。關鍵詞: ADO;ODBC;DSN;資料庫  VB通過ADO串連SQL Server資料庫可以分為有來源資料庫串連和無來源資料庫串連,區別它們看是否使用了DSN(資料來源名稱)來決定。 1   無來源資料庫串連其實,“無來源資料庫”串連也並不是說不需要資料來源,如果沒有資料來源則串連是紙上談兵,只是不需要配置ODBC資料來源,利用ADO就可通過代碼進行串連。 1.1 ADO(ActiveX Data Object)在Visual Basic6.0中,資料提供者有三種:ActiveX資料對象(ADO)、遠端資料物件(RDO)和Data Access Objects(DAO)。這三種介面的每一種都分別代表該技術的不同發展階段,最新的是ADO,它比RDO和DAO更加簡單,更加靈活。對於新工程,應使用ADO作為資料提供者。ADO 是Microsoft 資料庫應用程式開發的介面,是建立在OLE DB之上的高層資料庫訪問技術。它封裝了OLE DB所提供的介面,比起OLE DB提供者,ADO的介面可以使程式員在更進階別上進行資料互動。ADO技術不僅可以應用於關聯式資料庫,也可以應用於非關聯式資料庫。可以用統一的方法對不同的檔案系統進行訪問,大大簡化了程式編製,增加了程式的可移植性。 1.2 建立無來源資料庫串連在串連資料庫前,首先要在Visual Basic 6.0菜單中“工程”—“引用”中選擇Microsoft ActiveX Data Objects 2.6 Library 和Microsoft ActiveX Data Objects Recordset 2.6 Library這兩個組件。運用ADO物件模型的主要元素:Connection(串連)中的ConnectionString屬性進行串連, ConnectionString為可讀寫string類型,指定一個連接字串,告訴ADO 如何串連資料庫。執行個體:以建立登陸系統為例,介紹無來源資料庫串連。在Microsoft SQL Server 2000 中建立一個Student 的資料庫,在Student資料庫中建立login_user(name,password)的資料表,Microsoft SQL Server伺服器的名為data_server。代碼如下:Option ExplicitPublic LoginSucceeded As Boolean'引用Microsoft ActiveX Data Objects 2.6 Library'定義連線物件和記錄集Dim conn As ADODB.ConnectionDim rs As ADODB.Recordset'對取消按鈕單擊事件的響應Private Sub cmdCancel_Click()'設定全域變數為 false'不提示失敗的登入LoginSucceeded = FalseMe.HideEnd Sub'對登入按鈕單擊事件的響應Private Sub cmdOK_Click()Set conn = New ADODB.Connection  Set rs = New ADODB.Recordset'建立無來源資料庫串連conn.ConnectionString="driver={sql server};server=data_server;uid=sa;pwd=;Database=student"conn.ConnectionTimeout = 50conn.OpenDim str As String'串連連線物件Set rs.ActiveConnection = conn'設定遊標類型rs.CursorType = adOpenDynamicIf Trim(txtUserName.Text = "") ThenMsgBox "使用者名稱不可為空,請重新輸入使用者名稱!", vbOKOnly + vbExclamation, "警告"txtUserName.SetFocusElse'設定查詢字串str = "select * from login_user where name ='" & Trim(txtUserName.Text) & "'"rs.Open strIf rs.EOF = True ThenMsgBox "沒有這個使用者,請重新輸入使用者名稱!", vbOKOnly + vbExclamation, "警告"txtUserName.SetFocusElse'登入成功,串連主視窗If (Trim(txtPassword.Text) = Trim(rs.Fields("password"))) ThenLoginSucceeded = TrueMe.Hidemain.ShowElseMsgBox "密碼不正確,請重輸入密碼!", , "警告"txtPassword.SetFocusSendKeys "{Home}+{End}"End IfEnd IfEnd IfEnd Sub無來源資料庫串連則不用配置ODBC環境,可以省去手工設定DSN的麻煩,這種方法所編寫的軟體適應性廣,又符合專業軟體的要求。 2  有來源資料庫的串連有來源資料庫串連的首要任務是要註冊資料來源名稱(DSN),通過配置ODBC環境,進行資料來源的註冊,然後才能在對資料庫編程時,對資料來源進行串連、訪問和操作。 2.1 ODBCODBC(Open Database Connectivity,開放資料庫互連)是Microsoft公司開發的一套開放資料庫系統應用程式介面規範,利用它可以在應用程式中同時訪問多個資料庫系統。由此可見,ODBC的最大優點是能以統一的方式處理所有的資料庫。 2.2  DSN( 資料來源名稱) ODBC資料來源分為以下三類:(1)                使用者DSN:只有建立資料來源的使用者才可以使用他們自己建立的資料來源,而且只能在當前的電腦上使用。(2)                系統DSN:任何使用你的電腦的使用者和程式都可以使用的DSN。(3)                檔案DSN:除了具有系統DSN的功能之外,還能被其它使用者在其它電腦上使用。 2.3  建立ODBC資料來源的步驟(1)         啟動控制台。(2)         雙擊ODBC表徵圖,啟動ODBC資料來源。(3)         換到“使用者DSN”標籤,單擊“添加”。選擇SQLServer作為資料來源的驅動程式。(4)         為資料來源命名,按提示操作即可建立ODBC資料來源。 2.4  建立有來源資料庫串連建立資料來源是進行有來源資料庫串連的第一步,下面同樣是運用ADO物件模型的主要元素Connection(串連)進行來源資料庫串連。 ConnectionString是Connection對象的屬性名稱,提供資料提供者或服務提供者開啟到資料來源的串連所需要的特定資訊,包括Database、DSN、UID等。(1)         Database:字串運算式,指定伺服器上的資料庫名稱。(2)         UID:字串運算式,為ODBC資料來源指定使用者標識(使用者帳號名)。(3)         PWD:字串運算式,為ODBC資料來源指定使用者口令。(4)         DSN:字串運算式,指定串連的ODBC 資料來源名稱。利用已配置好的ODBC資料來源進行串連。執行個體:以建立查詢系統為例,介紹有來源資料庫串連。建立ODBC資料來源名稱為stud,通過ADO與資料庫student進行串連,代碼如下:Dim conn As ADODB.ConnectionDim rs As ADODB.RecordsetPrivate Sub Form_Load()Set conn = New ADODB.ConnectionSet rs = New ADODB.Recordsetconn.ConnectionString = "dsn=stud;uid=sa;pwd=;database=student"conn.OpenDim str As StringSet rs.ActiveConnection = conn  rs.CursorType = adOpenDynamic  str = "select * from login_user"  rs.Open str  txtUserName.Text = rs.Fields("name")  txtPassword.Text = rs.Fields("password")End Sub有來源資料庫串連首先要配置ODBC環境,註冊資料來源,這種方法有一定的局限性,當程式最終完成並分發到使用者手中後,還需要為使用者配置ODBC,而且由於參數內容不一,配置時不宜把握。 結束語ADO封裝並且實現了Microsoft強大的資料提供者OLE DB的所有功能,它具有通用性好,效率高的特點。通過ADO進行無來源資料庫串連,省去手工設定DSN的麻煩,使ADO物件模型獲得更大的靈活性。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.