日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

解讀VB實現(xiàn)SQL Server 2000存儲過程調(diào)用(2)_Mssql數(shù)據(jù)庫教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:客戶端備份與恢復(fù)MSSQL Server數(shù)據(jù)庫
摘要:本文以SQL SERVER為例,總結(jié)了常用的幾種備份和恢復(fù)數(shù)據(jù)庫的方法,分析了作業(yè)機制的原理,并提出了一種以作業(yè)機制實現(xiàn)恢復(fù)和備份數(shù)據(jù)庫的方法。用戶可以不打開數(shù)據(jù)庫管理器,在應(yīng)用程序客戶端就可以方便地實現(xiàn)數(shù)據(jù)庫的備份和恢復(fù)。 關(guān)鍵詞: 備份 恢復(fù) 作

SQL Server 2000數(shù)據(jù)庫存儲過程的調(diào)用

VB作為當(dāng)今應(yīng)用極為普遍的數(shù)據(jù)庫客戶端開發(fā)工具之一,對客戶端應(yīng)用程序調(diào)用服務(wù)器端存儲過程提供了強大的支持。特別是隨著VB6.0的推出,VB客戶端應(yīng)用程序可以方便地利用ADO的對象和集合來實現(xiàn)對數(shù)據(jù)庫存儲過程的調(diào)用。

在筆者編寫的科技檔案管理系統(tǒng)中,就是采用VB作為開發(fā)平臺,采用SQL Server2000數(shù)據(jù)庫管理數(shù)據(jù),在這個科技檔案管理系統(tǒng)中有海量的數(shù)據(jù),并且對數(shù)據(jù)庫有頻繁的訪問,利用存儲過程訪問數(shù)據(jù)庫節(jié)省了執(zhí)行時間,大大提高了系統(tǒng)的性能。

1、ADO簡介

ADO控件(也稱為ADO Data控件)與VB固有的Data控件相似。使用ADO Data控件,可以利用Microsoft ActiveX Data Objects(ADO)快速建立數(shù)據(jù)庫綁定控件和數(shù)據(jù)提供者之間的連接。

ADO Data控件可以實現(xiàn)以下功能:

·連接一個本地數(shù)據(jù)庫或遠(yuǎn)程數(shù)據(jù)庫。

·打開一個指定的數(shù)據(jù)庫表,或定義一個基于結(jié)構(gòu)化查詢語言(SQL)的查詢、存儲過程或該數(shù)據(jù)庫中的表的視圖的記錄集合。

·將數(shù)據(jù)字段的數(shù)值傳遞給數(shù)據(jù)綁定控件,可以在這些控件中顯示或更改這些數(shù)值。

·添加新的記錄,或根據(jù)更改顯示在綁定的控件中的數(shù)據(jù)來更新一個數(shù)據(jù)庫。

2、數(shù)據(jù)庫的連接

數(shù)據(jù)庫的連接可通過ADO控件實現(xiàn),為此,必須在工程部件中選擇Microsoft ADO Data Control 6.0 (OLEDB),然后在窗體中添加ADO控件。利用ADO連接數(shù)據(jù)庫有兩種方法,具體如下。

1) 通過ADODC屬性頁實現(xiàn)連接

在ADODC屬性頁中選擇生成按鈕,進入數(shù)據(jù)鏈接屬性對話框;然后選擇該對話框中的連接屬性頁,選擇或輸入服務(wù)器名稱和數(shù)據(jù)庫等重要信息;最后測試連接,連接成功后,按確定按鈕,返回到屬性頁對話框,可獲得連接字符串,如下例:

Provider=SQLOLEDB.1;

Persist Security Info=False;

User ID=sa;Initial Catalog=Science_File;

Data Source=Data_Server

其中sa是用戶名;Science_File是數(shù)據(jù)庫名;Data_Server是數(shù)據(jù)庫名。

通過下列語句,即可連接到指定的數(shù)據(jù)庫:

dim odbcstr as String, adocon As New ADODB.Connection

odbcstr = "Provider=SQLOLEDB.1;

Persist Security Info=False;

User ID=sa;Initial Catalog=Science_File;

Data Source=Data_Server"

adocon.Open odbcstr '連接到數(shù)據(jù)庫

2) 直接使用連接語句實現(xiàn)

連接數(shù)據(jù)庫的語句如下:

Dim ado as ADODC

ado.ConnectionString = "Provider=SQLOLEDB.1;

Password=" & User_Pwd & ";

Persist Security Info=True;

User ID=" & User_Name & ";

Initial Catalog=" & Data_Name & ";

Data Source=" & server_name

其中User-Pwd是用戶密碼;User_Name是用戶名;Data_Name是數(shù)據(jù)庫名;server_name是服務(wù)器名。連接數(shù)據(jù)庫成功后就可以調(diào)用存儲過程執(zhí)行操作。

3、存儲過程的調(diào)用

假設(shè)有一個名為doc_ProcName存儲過程,該存儲過程有一個輸入?yún)?shù),一個輸出參數(shù)。

1) 直接傳遞參數(shù)調(diào)用存儲過程

直接傳遞參數(shù)方法主要通過以下幾個步驟來實現(xiàn):

(1) 通過ADODB的Connection對象打開與數(shù)據(jù)源的連接;

(2) 通過ActiveConnection指定Command對象當(dāng)前所屬的Connection對象;

(3) 通過CommandText屬性設(shè)置Command對象的源,即要調(diào)用的存儲過程;

(4) 通過CommandType屬性確定Command對象的源類型,如果源類型為存儲過程CommandType即為adCmdStoredProc;

(5) 通過Command對象的Parameters集合向所調(diào)用的存儲過程傳遞參數(shù),其中對象Parameters(0)為執(zhí)行存儲過程的返回值,返回值為0則執(zhí)行存儲過程成功;

(6) 通過Eexecute方法執(zhí)行在 CommandText 屬性中指定的存儲過程。

以存儲過程doc_ProcName為例,關(guān)鍵代碼如下:

Dim strS As String '定義一變量

Dim adoconn As New ADODB.Connection 'Connection 對象代表了打開與數(shù)據(jù)源的連接。

Dim adocomm As New ADODB.Command 'Command 對象定義了將對數(shù)據(jù)源執(zhí)行的指定命令。

Dim ReturnValue As Integer '調(diào)用存儲過程的返回值

adoconn.ConnectionString = Adodc1.ConnectionString 'Adodc1為窗體中的ADO控件,

并已成功連接數(shù)據(jù)庫

adoconn.Open

Set adocomm.ActiveConnection = adoconn '指示指定的 Command對象當(dāng)前所屬的

Connection對象。

adocomm.CommandText = "doc_ProcName" '設(shè)置Command對象源。

adocomm.CommandType = adCmdStoredProc '通知提供者CommandText屬性有什么,

它可能包括Command對象的源類型。設(shè)置這個屬性優(yōu)化了該命令的執(zhí)行。

adocomm.Parameters(1) = "1"

adocomm.Parameters(2) = "OutputParameters" 'OutputParameters可以為任意的字符串或數(shù)字

adocomm.Execute

ReturnValue = adocomm.Parameters(0) '存儲過程的返回值,返回0則成功執(zhí)行。

strS = adocomm.Parameters(2) '把存儲過程的輸出參數(shù)的值賦給變量strS

2) 追加參數(shù)法調(diào)用存儲過程

追加參數(shù)通過CreateParameter方法,用來指定屬性創(chuàng)建新的Parameter對象。具體語法如下:

Set parameter = command.CreateParameter

(Name, Type, Direction, Size, Value)

·Name 可選,字符串,代表 Parameter 對象名稱。

·Type 可選,長整型值,指定 Parameter 對象數(shù)據(jù)類型。

·Direction 可選,長整型值,指定 Parameter 對象類型。

·Size 可選,長整型值,指定參數(shù)值最大長度(以字符或字節(jié)數(shù)為單位)。

·Value 可選,變體型,指定 Parameter 對象值。

這種方法與上面一種方法的分別主要在于,追加參數(shù)的方法在向存儲過程傳遞參數(shù)時,這種方法首先通過CreateParameter方法為存儲過程創(chuàng)建參數(shù),然后通過Append方法將創(chuàng)建的參數(shù)追加到Parameters集合中去。

仍然以存儲過程doc_ProcName的調(diào)用為例,關(guān)鍵代碼如下:

Dim mRst As ADODB.Recordset 'Recordset 對象表示的是來自基本表

或命令執(zhí)行結(jié)果的記錄全集。

Dim prm As ADODB.Parameter 'Parameter 對象代表參數(shù)或與

基于參數(shù)化查詢或存儲過程的Command 對象相關(guān)聯(lián)的參數(shù)。

adoconn.ConnectionString = Adodc1.ConnectionString

adoconn.Open

Set adocomm.ActiveConnection = adoconn

adocomm.CommandText = "doc_ProcName"

adocomm.CommandType = adCmdStoredProc

Set prm = adocomm.CreateParameter

("parameter1", adTinyInt, adParamInput, , "1")

adocomm.Parameters.Append prm

Set prm = adocomm.CreateParameter("parameter2", adInteger, adParamOutput)

adocomm.Parameters.Append prm

Set mRst = adocomm.Execute

ReturnValue = adocomm.Parameters(0)

以上代碼中未定義的變量以及未注釋的語句與前述相同。

結(jié)束語

在應(yīng)用程序中調(diào)用服務(wù)器端存儲過程,不僅能顯著提高整個應(yīng)用的性能,而且能加強對數(shù)據(jù)庫數(shù)據(jù)的保護。VB為客戶端應(yīng)用程序調(diào)用存儲過程提供了一組方便而有效的方法。

分享:談SQL Server的空值處理策略
數(shù)據(jù)完整性是任何數(shù)據(jù)庫系統(tǒng)要保證的重點。不管系統(tǒng)計劃得有多好,空數(shù)據(jù)值的問題總是存在。本文探討了在SQL Server中處理這些值時涉及的3個問題:計數(shù)、使用空表值以及外鍵處理。 用COUNT(*)處理空值 大多數(shù)集合函數(shù)都能在計算時消除空值;COUNT函數(shù)則屬于例

共2頁上一頁12下一頁
來源:模板無憂//所屬分類:Mssql數(shù)據(jù)庫教程/更新時間:2009-06-28
相關(guān)Mssql數(shù)據(jù)庫教程