前言
VB對(duì)數(shù)據(jù)庫(kù)的編程有多種方法,如:ODBC API編程、RDO(遠(yuǎn)程數(shù)據(jù)對(duì)象)、DAO(數(shù)據(jù)訪問對(duì)象)、ADO(ActiveX 數(shù)據(jù)對(duì)象)方法編程實(shí)現(xiàn)方便、快捷,但靈活性稍差。由于存儲(chǔ)過程具有實(shí)現(xiàn)數(shù)據(jù)封裝、隱藏以及代碼的預(yù)編譯、減少網(wǎng)絡(luò)負(fù)載、維護(hù)方便等優(yōu)點(diǎn),所以被許多RDMBS和編程工具做支持。VB中的各類數(shù)據(jù)對(duì)象均都提供對(duì)存儲(chǔ)過程的支持。所以要靈活掌握調(diào)用存儲(chǔ)過程這一技術(shù)是十分必要?,F(xiàn)在將VB中實(shí)現(xiàn)動(dòng)態(tài)調(diào)用含DateTime類型的存儲(chǔ)過程介紹給讀者,讓您很快掌握和運(yùn)用這個(gè)方法,解決你身邊的問題。
一、 簡(jiǎn)述SQL Server 2000 日期時(shí)間類型(含dateTime類型字段)
該類型是由有效的日期或時(shí)間組成;年-月-日 小時(shí):分:秒.千分之秒。其格式:
在現(xiàn)階段開發(fā)設(shè)計(jì)ERP系統(tǒng)項(xiàng)目中,尤其在創(chuàng)建數(shù)據(jù)庫(kù)表結(jié)構(gòu)時(shí),均要考慮到DateTime字段的應(yīng)用,它能記載信息發(fā)生時(shí)間段的信息,能充分反映該區(qū)間數(shù)據(jù)變化;除特殊情況下(如:網(wǎng)吧、游戲吧等需記錄小時(shí)、分、秒)之外,一般要考慮到日期范圍即:[年、月、日]。
二、 我們以ADO為例來說明其實(shí)現(xiàn)步驟
現(xiàn)在動(dòng)態(tài)調(diào)用含有DateTime字段的存儲(chǔ)過程,以幫助理解和掌握調(diào)用存儲(chǔ)過方法:
1>、使用Northwind的MS SQL中的例子庫(kù)(此例子SQL Server2000自帶)
Create procedure "Employee Sales by Country"
@Beginning_Date DateTime, @Ending_Date DateTime AS
SELECT Employees.Country, Employees.LastName, Employees.FirstName,
Orders.ShippedDate, Orders.OrderID, "Order Subtotals".Subtotal AS SaleAmount
FROM Employees INNER JOIN
(Orders INNER JOIN "Order Subtotals" ON Orders.OrderID = "Order Subtotals".OrderID)
ON Employees.EmployeeID = Orders.EmployeeID
WHERE Orders.ShippedDate Between @Beginning_Date And @Ending_Date
GO
2>、在VB中生成一個(gè)新工程,工程添加一個(gè)窗體,三個(gè)Command(1,2,3)按鈕,一個(gè)ListView控件,兩個(gè)日期DTpicker控件,兩個(gè)標(biāo)簽Label控件,一個(gè)文本TextBox控件。
3>、編程的設(shè)計(jì)思路
基于SQL Server數(shù)據(jù)庫(kù)表結(jié)構(gòu)定義DateTime類型的特點(diǎn),我們采取截取有效日期部分,實(shí)現(xiàn)對(duì)這個(gè)含有DateTime字段的存儲(chǔ)過程動(dòng)態(tài)調(diào)用,具體步驟如下:
①.定義:Dim Dt10,DT20 as Variant
②.采集動(dòng)態(tài)日期賦值于以上兩個(gè)變量中
DT10 = Format(Trim(DT1.Value), "yyyy-mm-dd")
DT20 = Format(Trim(DT2.Value), "yyyy-mm-dd")
具備以上條件,可快捷、方便地獲取動(dòng)態(tài)日期區(qū)間內(nèi)數(shù)據(jù)表的結(jié)果集。
下面就嚴(yán)格執(zhí)行調(diào)用存儲(chǔ)過程語法格式就可以了。請(qǐng)?jiān)斠奦B的代碼。
VB對(duì)數(shù)據(jù)庫(kù)的編程有多種方法,如:ODBC API編程、RDO(遠(yuǎn)程數(shù)據(jù)對(duì)象)、DAO(數(shù)據(jù)訪問對(duì)象)、ADO(ActiveX 數(shù)據(jù)對(duì)象)方法編程實(shí)現(xiàn)方便、快捷,但靈活性稍差。由于存儲(chǔ)過程具有實(shí)現(xiàn)數(shù)據(jù)封裝、隱藏以及代碼的預(yù)編譯、減少網(wǎng)絡(luò)負(fù)載、維護(hù)方便等優(yōu)點(diǎn),所以被許多RDMBS和編程工具做支持。VB中的各類數(shù)據(jù)對(duì)象均都提供對(duì)存儲(chǔ)過程的支持。所以要靈活掌握調(diào)用存儲(chǔ)過程這一技術(shù)是十分必要?,F(xiàn)在將VB中實(shí)現(xiàn)動(dòng)態(tài)調(diào)用含DateTime類型的存儲(chǔ)過程介紹給讀者,讓您很快掌握和運(yùn)用這個(gè)方法,解決你身邊的問題。
一、 簡(jiǎn)述SQL Server 2000 日期時(shí)間類型(含dateTime類型字段)
該類型是由有效的日期或時(shí)間組成;年-月-日 小時(shí):分:秒.千分之秒。其格式:
在現(xiàn)階段開發(fā)設(shè)計(jì)ERP系統(tǒng)項(xiàng)目中,尤其在創(chuàng)建數(shù)據(jù)庫(kù)表結(jié)構(gòu)時(shí),均要考慮到DateTime字段的應(yīng)用,它能記載信息發(fā)生時(shí)間段的信息,能充分反映該區(qū)間數(shù)據(jù)變化;除特殊情況下(如:網(wǎng)吧、游戲吧等需記錄小時(shí)、分、秒)之外,一般要考慮到日期范圍即:[年、月、日]。
二、 我們以ADO為例來說明其實(shí)現(xiàn)步驟
現(xiàn)在動(dòng)態(tài)調(diào)用含有DateTime字段的存儲(chǔ)過程,以幫助理解和掌握調(diào)用存儲(chǔ)過方法:
1>、使用Northwind的MS SQL中的例子庫(kù)(此例子SQL Server2000自帶)
Create procedure "Employee Sales by Country"
@Beginning_Date DateTime, @Ending_Date DateTime AS
SELECT Employees.Country, Employees.LastName, Employees.FirstName,
Orders.ShippedDate, Orders.OrderID, "Order Subtotals".Subtotal AS SaleAmount
FROM Employees INNER JOIN
(Orders INNER JOIN "Order Subtotals" ON Orders.OrderID = "Order Subtotals".OrderID)
ON Employees.EmployeeID = Orders.EmployeeID
WHERE Orders.ShippedDate Between @Beginning_Date And @Ending_Date
GO
2>、在VB中生成一個(gè)新工程,工程添加一個(gè)窗體,三個(gè)Command(1,2,3)按鈕,一個(gè)ListView控件,兩個(gè)日期DTpicker控件,兩個(gè)標(biāo)簽Label控件,一個(gè)文本TextBox控件。
3>、編程的設(shè)計(jì)思路
基于SQL Server數(shù)據(jù)庫(kù)表結(jié)構(gòu)定義DateTime類型的特點(diǎn),我們采取截取有效日期部分,實(shí)現(xiàn)對(duì)這個(gè)含有DateTime字段的存儲(chǔ)過程動(dòng)態(tài)調(diào)用,具體步驟如下:
①.定義:Dim Dt10,DT20 as Variant
②.采集動(dòng)態(tài)日期賦值于以上兩個(gè)變量中
DT10 = Format(Trim(DT1.Value), "yyyy-mm-dd")
DT20 = Format(Trim(DT2.Value), "yyyy-mm-dd")
具備以上條件,可快捷、方便地獲取動(dòng)態(tài)日期區(qū)間內(nèi)數(shù)據(jù)表的結(jié)果集。
下面就嚴(yán)格執(zhí)行調(diào)用存儲(chǔ)過程語法格式就可以了。請(qǐng)?jiān)斠奦B的代碼。