掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
在執(zhí)行某些任務(wù)時(shí),許多開(kāi)發(fā)者喜歡使用Visual Basic(VB)作為首選編程語(yǔ)言。它是一種易于學(xué)習(xí)和使用的語(yǔ)言,可以用它快速構(gòu)建應(yīng)用程序,提高生產(chǎn)力。但是,在使用VB時(shí),有時(shí)可能需要?jiǎng)?chuàng)建SQL數(shù)據(jù)庫(kù),以便在應(yīng)用程序中存儲(chǔ)數(shù)據(jù)。如果你想了解如何創(chuàng)建SQL數(shù)據(jù)庫(kù),請(qǐng)繼續(xù)閱讀本文。

10年的克拉瑪依區(qū)網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都營(yíng)銷(xiāo)網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整克拉瑪依區(qū)建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)建站從事“克拉瑪依區(qū)網(wǎng)站設(shè)計(jì)”,“克拉瑪依區(qū)網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
1.安裝SQL Server
在創(chuàng)建SQL數(shù)據(jù)庫(kù)之前,必須先安裝SQL Server。SQL Server是一種關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由Microsoft開(kāi)發(fā)和維護(hù),用于管理和存儲(chǔ)數(shù)據(jù)。你可以在Microsoft官網(wǎng)上下載SQL Server,也可以從安裝光盤(pán)或直接安裝執(zhí)行文件進(jìn)行安裝。
安裝SQL Server后,請(qǐng)確保手動(dòng)啟動(dòng)SQL Server服務(wù)。你可以從“開(kāi)始”菜單中搜索“SQL Server服務(wù)管理器”,單擊打開(kāi)它,并啟動(dòng)SQL Server服務(wù)。
2.創(chuàng)建數(shù)據(jù)庫(kù)
在安裝和啟動(dòng)SQL Server后,下一步是創(chuàng)建數(shù)據(jù)庫(kù)。在VB中,可以使用ADODB組件來(lái)連接和操作SQL Server數(shù)據(jù)庫(kù)。以下是在VB中創(chuàng)建數(shù)據(jù)庫(kù)的步驟:
“`
‘Reference needed: Microsoft ActiveX Data Objects 2.X Library
Dim cnn As New ADODB.Connection
Dim strConn As String
Dim strSQL As String
strConn = “driver={SQL Server};server=;database=master;uid=;pwd=;”
‘ replace , , with your own setting
cnn.Open strConn
strSQL = “CREATE DATABASE “
‘ replace with your own setting
cnn.Execute strSQL
cnn.Close
“`
以上代碼使用ADODB連接到SQL Server數(shù)據(jù)庫(kù),然后在將字符串傳遞給`Execute`方法來(lái)執(zhí)行在SQL Server上創(chuàng)建數(shù)據(jù)庫(kù)的SQL語(yǔ)句。請(qǐng)注意,因?yàn)閯?chuàng)建數(shù)據(jù)庫(kù)需要特定的權(quán)限,所以你必須提供適當(dāng)?shù)挠脩裘兔艽a來(lái)獲得這些權(quán)限。
3.在數(shù)據(jù)庫(kù)中創(chuàng)建表格
現(xiàn)在,數(shù)據(jù)庫(kù)已經(jīng)創(chuàng)建完畢,下一步是向數(shù)據(jù)庫(kù)添加表格。表格是一種組織數(shù)據(jù)的方式,可以將數(shù)據(jù)按行和列排列。通過(guò)在表格中插入數(shù)據(jù),你可以輕松地在應(yīng)用程序中檢索和更新數(shù)據(jù)。
以下是在VB中創(chuàng)建表格的步驟:
“`
‘Reference needed: Microsoft ActiveX Data Objects 2.X Library
Dim cnn As New ADODB.Connection
Dim strConn As String
Dim strSQL As String
strConn = “driver={SQL Server};server=;database=;uid=;pwd=;”
‘ replace , , , with your own setting
cnn.Open strConn
strSQL = “CREATE TABLE
strSQL = strSQL & “name VARCHAR(50) NOT NULL,”
strSQL = strSQL & “age INTEGER,”
strSQL = strSQL & “eml VARCHAR(50),”
strSQL = strSQL & “phone VARCHAR(20)”
strSQL = strSQL & “)”
cnn.Execute strSQL
cnn.Close
“`
以上代碼使用ADODB連接到SQL Server數(shù)據(jù)庫(kù),并使用SQL語(yǔ)句在數(shù)據(jù)庫(kù)中創(chuàng)建了一個(gè)名為`table_name`的表格。該表格包含五個(gè)字段:`id`,`name`,`age`,`eml`,`phone`。其中`id`是主鍵,而其他字段包括字符串和整數(shù)類(lèi)型。
在實(shí)際使用中,你可以根據(jù)自己的需要設(shè)置表格的不同字段。
4.在表格中插入數(shù)據(jù)
現(xiàn)在,SQL數(shù)據(jù)庫(kù)和表格已經(jīng)創(chuàng)建,并接受了某些字段。下一步是在表格中插入數(shù)據(jù)。你可以使用SQL語(yǔ)句在表格中插入數(shù)據(jù)。
以下是在VB中插入數(shù)據(jù)的步驟:
“`
‘Reference needed: Microsoft ActiveX Data Objects 2.X Library
Dim cnn As New ADODB.Connection
Dim strConn As String
Dim strSQL As String
strConn = “driver={SQL Server};server=;database=;uid=;pwd=;”
strSQL = “INSERT INTO
strSQL = strSQL & “id INTEGER PRIMARY KEY,”
‘ replace , , , with your own setting
cnn.Open strConn
‘ replace
cnn.Close
“`
以上代碼中,我們使用SQL語(yǔ)句將數(shù)據(jù)插入表格。語(yǔ)句使用`INSERT INTO`關(guān)鍵字來(lái)指定數(shù)據(jù)應(yīng)該插入哪個(gè)表格,然后指定要插入哪些字段和值。
相關(guān)問(wèn)題拓展閱讀:
都有SQL語(yǔ)句的呀肢鉛世。
1.庫(kù)
if
exists(select
from
master..dbo.sysdatabases
where
name=’example’)
‘DataBase
existed’激清
else
‘Database
not
existed’歷肢
2.表
IF
Exists(Select
From
sysObjects
Where
Name
=’表名’
And
Type
In
(‘S’,’U’))
‘Exists
Table’
Else
‘Not
Exists
Table’
要看vb 程序中用到了什么樣的數(shù)據(jù)庫(kù)驅(qū)動(dòng)
看要注冊(cè)數(shù)據(jù)源,那可能就是ODBC 勒
1。打開(kāi)機(jī)子的控制面板->管理工具-〉數(shù)據(jù)源
2。添加數(shù)據(jù)源
添加=〉
選擇 作為驅(qū)動(dòng)
名稱:命名,但是要和程序中用到的對(duì)應(yīng)
服務(wù)器:輸入Sql server 的ip
下一步
>選擇用輸入id得用戶名登陸
>輸入id和密碼,比如sa , xxx
下一步
完成
連接數(shù)據(jù)源
本教程中,我們將學(xué)習(xí)使用ODBC APIs的細(xì)節(jié).
因?yàn)槲覀兊某绦虿⒉慌cODBC驅(qū)動(dòng)程序直接通信,而是通過(guò)ODBC管理器來(lái)定義一系列APIs供你的程序調(diào)用以完成工作,所以我們需要包含odbc32.inc和odbc32.lib文件,當(dāng)然還有windows.inc。
連接數(shù)據(jù)源需要以下幾步:
分配一個(gè)環(huán)境句柄(environment handle). 在進(jìn)行每個(gè)ODBC任務(wù)(session)時(shí)僅需這樣做一次.一旦獲得了句柄,我們就可修改環(huán)境屬性來(lái)適合我們的需要。你可以把這想象為在DB工作中創(chuàng)建一個(gè)workspace. 確認(rèn)將使用的ODBC的版本. 你可在ODBC 2.x版和3.x版間選擇.他們?cè)诤芏喾矫娲嬖诓煌?,因此本步驟是必須的以使得ODBC管理器它將用何種語(yǔ)法與用戶程序通訊,及如何解釋用戶程序的命令. 分配一個(gè)連接句柄.這個(gè)步驟可看作創(chuàng)建一個(gè)空連接.我們還沒(méi)有指定使用那一個(gè)驅(qū)動(dòng)程序,連接那一個(gè)數(shù)據(jù)庫(kù).這些信息將在稍后來(lái)寫(xiě)入. 建立一個(gè)連接.可通過(guò)調(diào)用ODBC函數(shù)來(lái)建立連接.
當(dāng)連接完成時(shí),必須通過(guò)以下步驟來(lái)關(guān)閉和銷(xiāo)毀它:
斷開(kāi)與數(shù)據(jù)源的連接. 釋放連接句柄. 釋放環(huán)境句柄 (如果不再需要在這個(gè)環(huán)境中作更多連接) 分配一個(gè)句柄
在ODBC 3.x版本以前,我們需要調(diào)用很多獨(dú)立的函數(shù)來(lái)分配環(huán)境、連接和語(yǔ)句句柄(SQLAllocEnv, SQLAllocConnect, SQLAllocStmt).而在ODBC 3.x中, 這些函數(shù)被SQLAllocHandle所代替,語(yǔ)法如下:
SQLRETURN SQLAllocHandle( SQLALLINT HandleType, SQLHANDLE InputHandle, SQLHANDLE * OutputHandlePtr );
看上去挺麻煩,簡(jiǎn)化一下看看:
SQLAllocHandle proto HandleType:DWORD,
InputHandle:DWORD,
OutputHandlePtr:DWORD
SQLRETURN 被定義為SQLALLINT類(lèi)型.而 SQLALLINT被定義為短整型,例如一個(gè)字(16 bits). 所以該函數(shù)的返回值在ax中,而不是 eax. 這是很重要的.但是Win32下函數(shù)的參數(shù)是通過(guò)32位堆棧來(lái)傳送的.即使這個(gè)參數(shù)只是一個(gè)字長(zhǎng)(16位),它也應(yīng)被擴(kuò)展為32位.這就是為什么HandleType被說(shuō)明為雙字(dword)而不是字(word).看一下導(dǎo)入庫(kù) odbc32.lib,SQLAllocHandle的入口是_SQLAllocHandle@12. 就是說(shuō)這個(gè)函數(shù)的參數(shù)的組合長(zhǎng)度為12字節(jié)(3 dwords).然而,這不是說(shuō)C函數(shù)的原型不對(duì). SQLAllocHandle會(huì)只用HandleType的底位字并忽略高位字.因此C函數(shù)原型是功能上(functionally)正確而我們的匯編函數(shù)原型反映了實(shí)際.
結(jié)束了SQL類(lèi)型的討論,我們來(lái)看一看函數(shù)的參數(shù)和返回值。.
HandleType 是一個(gè)常數(shù),定義了希望分配的句柄類(lèi)型.可能值如下: SQL_HANDLE_ENV 環(huán)境句柄(Environment handle)SQL_HANDLE_DBC連接句柄(Connection handle)SQL_HANDLE_STMT語(yǔ)句句柄(Statement handle)SQL_HANDLE_DESC描述符句柄(Descriptor handle)
描述符是一個(gè)數(shù)據(jù)描述了一個(gè)SQL語(yǔ)句的參數(shù)或一個(gè)結(jié)果集的列數(shù), 視應(yīng)用程序或驅(qū)動(dòng)程序而定。
InputHandle 是指向父”文本”的句柄.就是說(shuō),如果你想分配一個(gè)連接句柄, 需要通過(guò)一個(gè)環(huán)境句柄因?yàn)檫B接將在那個(gè)環(huán)境的文本中建立.如果你想分配一個(gè)環(huán)境句柄,這個(gè)參數(shù)必須為SQL_HANDLE_NULL (注意SQL_HANDLE_NULL在windows.inc版本1.18及其以前版本中被不正確的定義為0L.你需要?jiǎng)h除掉”L”否則程序不會(huì)被編譯通過(guò).這是我的錯(cuò),因?yàn)槲邑?fù)責(zé)修訂windows.inc中的 SQL/ODBC部分.) 因?yàn)榄h(huán)境沒(méi)有父文本.對(duì)于語(yǔ)句和描述符句柄,我們需要將連接句柄作為這個(gè)參數(shù)。 OutputHandlePtr 如果調(diào)用成功,將指向一個(gè)雙字,其中包含了被分配的句柄.
SQLAllocHandle 可能的返回值如下:
SQL_SUCCESS函數(shù)成功完成.SQL_SUCCESS_WITH_INFO函數(shù)成功完成,但帶回非致命錯(cuò)誤或警告. SQL_ERROR函數(shù)調(diào)用失敗.SQL_INVALID_HANDLE傳送給函數(shù)的句柄非法.
無(wú)論函數(shù)的調(diào)用成功還是失敗,我們都可通過(guò)調(diào)用SQLGetDiagRec或SQLGetDiagField函數(shù)來(lái)獲得更多的信息.它們與Win32 API中的GetLastError很相似.
例子:
.data?
hEnv dd ?
.code
invoke SQLAllocHandle, SQL_HANDLE_ENV, SQL_HANDLE_NULL, addr hEnv
.if ax==SQL_SUCCESS || ax==SQL_SUCCESS_WITH_INFO
選擇ODBC的版本
分配完環(huán)境句柄后,我們需要設(shè)置一個(gè)環(huán)境屬性SQL_ATTR_ODBC_VERSION以適當(dāng)?shù)闹?設(shè)置環(huán)境屬性可通過(guò)調(diào)用函數(shù)SQLSetEnvAttr.你也許猜到了,還有類(lèi)似的函數(shù)如 SQLSetConnectAttr和SQLSetStmtAttr. SQLSetEnvAttr原型如下:
SQLSetEnvAttr proto EnvironmentHandle:DWORD,
Attribute:DWORD,
ValuePtr:DWORD, StringLength:DWORD
EnvironmentHandle. 與字面意思一樣, 它包含了要設(shè)置屬性的環(huán)境句柄. Attribute. 這是一個(gè)常數(shù),表示用戶需要設(shè)置的屬性.對(duì)我們而言,是SQL_ATTR_ODBC_VERSION.可以從MSDN中查看全部列表. ValuePtr. 這個(gè)參數(shù)的意義由希望設(shè)置的屬性值決定.如果屬性值是32位的, 這個(gè)參數(shù)將被認(rèn)為是想要設(shè)置的屬性值.如果屬性值是一個(gè)字符串或二進(jìn)制緩沖區(qū),它就被解釋為指向字符串或緩沖區(qū)的指針.如果我們指定了要設(shè)置的屬性為SQL_ATTR_ODBC_VERSION, 這個(gè)參數(shù)我們可以填入SQL_OV_ODBC3和SQL_OV_ODBC2這兩個(gè)可能值,分別對(duì)應(yīng)ODBC 3.x和2.x. StringLength. 由ValuePtr指向的值的長(zhǎng)度. 如果這個(gè)值是字符串或二進(jìn)制緩沖區(qū),這個(gè)參數(shù)一定是合法的. 如果想設(shè)置的屬性是一個(gè)雙字,這個(gè)參數(shù)被忽略.因?yàn)?SQL_ATTR_ODBC_VERSION屬性包含一個(gè)雙字的值,我們可以只給它賦為NULL.
這個(gè)函數(shù)的返回值與SQLAllocHandle相同.
例子:
.data?
hEnv dd ?
.code
invoke SQLAllocHandle, SQL_HANDLE_ENV, SQL_HANDLE_NULL, addr hEnv
.if ax==SQL_SUCCESS || ax==SQL_SUCCESS_WITH_INFO
invoke SQLSetEnvAttr, hEnv, SQL_ATTR_ODBC_VERSION, SQL_OV_ODBC3, NULL
.if ax==SQL_SUCCESS || ax==SQL_SUCCESS_WITH_INFO
分配連接句柄
這一步與分配環(huán)境句柄相似,我們可以通過(guò)調(diào)用SQLAllocHandle函數(shù)并賦以不同的參數(shù)值來(lái)完成.
例子:
.data?
hEnv dd ?
hConn dd ?
.code
invoke SQLAllocHandle, SQL_HANDLE_ENV, SQL_HANDLE_NULL, addr hEnv
.if ax==SQL_SUCCESS || ax==SQL_SUCCESS_WITH_INFO
invoke SQLSetEnvAttr, hEnv, SQL_ATTR_ODBC_VERSION, SQL_OV_ODBC3, NULL
.if ax==SQL_SUCCESS || ax==SQL_SUCCESS_WITH_INFO
invoke SQLAllocHandle, SQL_HANDLE_DBC, hEnv, addr hConn
.if ax==SQL_SUCCESS || ax==SQL_SUCCESS_WITH_INFO
建立一個(gè)連接
我們現(xiàn)在要通過(guò)特定的ODBC驅(qū)動(dòng)程序來(lái)連接數(shù)據(jù)源.通過(guò)這三個(gè)ODBC函數(shù)來(lái)達(dá)成這個(gè)目標(biāo).它們?yōu)槲覀兲峁┝撕脦讓印边x擇”.
SQLConnectCore這是最簡(jiǎn)單的函數(shù)。它只需要數(shù)據(jù)源名(DSN,Data source name)和可選的用戶名和密碼.它不提供任何GUI選項(xiàng)例如向用戶顯示一個(gè)對(duì)話框來(lái)提供更多信息。如果你已經(jīng)有了需要使用的數(shù)據(jù)庫(kù)的DSN就可以使用這個(gè)函數(shù).SQLDriverConnectCore這個(gè)函數(shù)提供了較SQLConnect更多的選擇.我們可以連接一個(gè)沒(méi)有在系統(tǒng)信息內(nèi)定義的數(shù)據(jù)源。如沒(méi)有DSN.另外,我們可以指定這個(gè)函數(shù)是否需要顯示一個(gè)對(duì)話框來(lái)為用戶提供更多信息.例如,如果用戶遺漏了數(shù)據(jù)庫(kù)的名字,它會(huì)指導(dǎo)ODBC驅(qū)動(dòng)程序顯示一個(gè)對(duì)話框,讓用戶來(lái)選擇想連接的數(shù)據(jù)庫(kù).SQLBrowseConnectLevel 1這個(gè)函數(shù)允許在運(yùn)行時(shí)(RunTime)枚舉數(shù)據(jù)源.比SQLDriverConnect更加靈活。因?yàn)榭梢远啻雾樞蛘{(diào)用SQLBrowseConnect,而每次提供給使用者更多的專(zhuān)用信息直到最后獲得需要的連接句柄.
我將先檢查SQLConnect函數(shù).要使用 SQLConnect,你應(yīng)先知道什么是DSN. DSN是數(shù)據(jù)源名(Data Source Name)的縮寫(xiě),是一個(gè)唯一標(biāo)識(shí)某數(shù)據(jù)源的字符串。一個(gè)DSN標(biāo)識(shí)了一個(gè)包含了如何連接某一特定的數(shù)據(jù)源的信息的數(shù)據(jù)結(jié)構(gòu).這個(gè)信息包括要使用何種ODBC驅(qū)動(dòng)程序及要連接哪個(gè)數(shù)據(jù)庫(kù).我們可以通過(guò)控制面板中的32位ODBC數(shù)據(jù)源來(lái)創(chuàng)建、修改及刪除DSN.
SQLConnect的語(yǔ)法如下:
SQLConnect proto ConnectionHandle:DWORD
pDSN:DWORD,
DSNLength:DWORD,
pUserName:DWORD,
NameLength:DWORD,
pPassword:DWORD,
PasswordLength:DWORD
ConnectionHandle. 要使用的連接句柄. pDSN. 指向DSN的指針. DSNLength. DSN的長(zhǎng)度 pUserName. 指向用戶名的指針 NameLength. 用戶名的長(zhǎng)度 pPassword. 指向該用戶名所使用密碼的指針 PasswordLength. 密碼的長(zhǎng)度
在最小情況下, SQLConnect 需要連接句柄,DSN和DSN的長(zhǎng)度。如果數(shù)據(jù)源不需要的話,用戶名和密碼就不是必須的.函數(shù)的返回值與SQLAllocHandle的返回值相同.
假設(shè)我們的系統(tǒng)中有一個(gè)叫做”Sales” 的DSN并且我們想連接這個(gè)數(shù)據(jù)源.我們可以這樣做:
.data
DSN db “Sales”,0
.code
……
invoke SQLConnect, hConn, addr DSN, sizeof DSN,0,0,0,0
SQLConnect 的缺點(diǎn)是:在連接一個(gè)數(shù)據(jù)源之前,我們必須創(chuàng)建它的DSN. SQLDriverConnect 提供了更大的靈活性.它的語(yǔ)法如下:
SQLDriverConnect proto ConnectionHandle:DWORD,
hWnd:DWORD,
pInConnectString:DWORD,
InStringLength:DWORD,
pOutConnectString:DWORD,
OutBufferSize:DWORD,
pOutConnectStringLength:DWORD, DriverCompletion:DWORD
ConnectionHandle連接句柄 hWnd 應(yīng)用程序窗口句柄.如果這個(gè)參數(shù)被置為NULL,驅(qū)動(dòng)程序?qū)⒉粫?huì)為用戶顯示一個(gè)對(duì)話框來(lái)顯示更多信息(如果有的話). pInConnectString 指向連接字符串的指針. 這是一個(gè)ASCIIZ字符串,格式由要連接的具體ODBC驅(qū)動(dòng)程序描述.它描述了驅(qū)動(dòng)程序名、數(shù)據(jù)源及其他附加屬性.連接字符串的具體描述請(qǐng)參見(jiàn)MSDN,這里不再細(xì)述. InStringLength 連接字符串的長(zhǎng)度. pOutConnectString 指向?qū)⒁惶钊胪暾B接字符串的緩沖區(qū)的指針.這個(gè)緩沖區(qū)將至少有1,024字節(jié)長(zhǎng).這聽(tīng)上去使人困惑。事實(shí)上,我們提供的連接字符串會(huì)不完整,這時(shí),ODBC驅(qū)動(dòng)程序會(huì)提示用戶更多信息.接下來(lái)ODBC驅(qū)動(dòng)程序會(huì)根據(jù)所有可能的信息創(chuàng)建一個(gè)完整的連接字符串并將其放入緩沖區(qū)。即使我們提供的連接字符串已經(jīng)可以工作了,這個(gè)緩沖區(qū)也會(huì)填入更多的屬性值.這個(gè)參數(shù)的目的是我們可以保存完整連接字符串來(lái)為接下來(lái)的連接做準(zhǔn)備。 OutBufferSize 由pOutConnectString指向的緩沖區(qū)的長(zhǎng)度. pOutConnectStringLength 指向一個(gè)雙字的指針,用來(lái)接收由ODBC驅(qū)動(dòng)程序返回的完整連接字符串的長(zhǎng)度。 DriverCompletion 一個(gè)標(biāo)志用來(lái)指示ODBC管理器/驅(qū)動(dòng)程序是否將提示用戶更多信息.但是,這個(gè)標(biāo)志取決于是否在調(diào)用本函數(shù)時(shí)傳送了hWnd 參數(shù)一個(gè)窗口句柄。如果沒(méi)有,即使該標(biāo)志被設(shè)置,ODBC管理器/驅(qū)動(dòng)程序也不會(huì)提示用戶.可能值如下:
SQL_DRIVER_PROMPTODBC驅(qū)動(dòng)程序提示用戶輸入信息。驅(qū)動(dòng)程序?qū)⒗眠@些信息來(lái)創(chuàng)建連接字符串.SQL_DRIVER_COMPLETE
SQL_DRIVER_COMPLETE_REQUIRED 僅當(dāng)用戶提供的連接字符串不完全時(shí), ODBC驅(qū)動(dòng)程序才會(huì)提示用戶.SQL_DRIVER_NOPROMPTODBC驅(qū)動(dòng)程序?qū)⒉粫?huì)提示用戶.
例子:
.data
strConnect db “DBQ=c:\data\test.mdb;DRIVER={Microsoft Access Driver (*.mdb)};”,0
.data?
buffer db 1024 dup(?)
OutStringLength dd ?
.code
…..
invoke SQLDriverConnect, hConn, hWnd, addr strConnect, sizeof strConnect, addr buffer, sizeof buffer, addr OutBufferLength, SQL_DRIVER_COMPLETE
斷開(kāi)與數(shù)據(jù)源的連接
在連接順利完成后,我們就可以對(duì)數(shù)據(jù)源進(jìn)行查詢及其他操作.這些將在下一節(jié)討論.現(xiàn)在假設(shè)我們已完成了對(duì)數(shù)據(jù)源的操作,就可以通過(guò)調(diào)用SQLDisconnect來(lái)斷開(kāi)與它的連接. 這個(gè)函數(shù)非常簡(jiǎn)單(就象那悲傷而冷酷的現(xiàn)實(shí):毀滅總比創(chuàng)造容易的多).它只需要一個(gè)參數(shù):連接句柄。
invoke SQLDisconnect, hConn
釋放連接與環(huán)境句柄
在順利地?cái)嚅_(kāi)連接后,我們現(xiàn)在可以調(diào)用SQLFreeHandle函數(shù)來(lái)銷(xiāo)毀連接句柄和環(huán)境句柄. 這是由ODBC 3.x提供的新函數(shù).它替代了SQLFreeConnect, SQLFreeEnv及SQLFreeStmt函數(shù). SQLFreeHandle語(yǔ)法如下:
SQLFreeHandle proto HandleType:DWORD, Handle:DWORD
HandleType 標(biāo)識(shí)要銷(xiāo)毀句柄的類(lèi)別的常數(shù).可能值與 SQLAllocHandle中相同 Handle要銷(xiāo)毀的句柄.
For example:
invoke SQLFreeHandle, SQL_HANDLE_DBC, hConn
invoke SQLFreeHandle, SQL_HANDLE_ENV, hEnv
AJAX技術(shù)大全 ASP.NET電子教程,編程學(xué)院
現(xiàn)在進(jìn)行運(yùn)行時(shí),都會(huì)發(fā)生錯(cuò)誤如*
現(xiàn)在要重新開(kāi)發(fā)一個(gè)新的應(yīng)用小程序,有沒(méi)有現(xiàn)成的可以提供參考.
關(guān)于vb 創(chuàng)建sql數(shù)據(jù)庫(kù)的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
數(shù)據(jù)庫(kù)運(yùn)維技術(shù)服務(wù) ? VB如何成功創(chuàng)建SQL數(shù)據(jù)庫(kù)? (vb 創(chuàng)建sql數(shù)據(jù)庫(kù))
分享到:
快速去重:數(shù)據(jù)庫(kù)select語(yǔ)句優(yōu)化技巧 (數(shù)據(jù)庫(kù)select去掉重復(fù)記錄)
快速了解:織夢(mèng)核心設(shè)置數(shù)據(jù)庫(kù) (織夢(mèng)核心設(shè)置數(shù)據(jù)庫(kù))
如何在MySQL中更改數(shù)據(jù)庫(kù)密碼SQL的步驟 (mysql 更改數(shù)據(jù)庫(kù)密碼 sql)
SQL語(yǔ)句條件查詢實(shí)現(xiàn)方式:無(wú)需數(shù)據(jù)庫(kù),快速查詢數(shù)據(jù)! (sql帶條件查詢沒(méi)數(shù)據(jù)庫(kù))
.NET MVC3數(shù)據(jù)庫(kù)連接簡(jiǎn)介 (.net mvc3如何連接數(shù)據(jù)庫(kù))
如何查詢Oracle數(shù)據(jù)庫(kù)中的空表? (查詢oracle數(shù)據(jù)庫(kù)空表)
Linux Linux教程 Linux資訊 MacOS MacOS教程 MacOS資訊 MongoDB MongoDB教程 MongoDB資訊 MSSQL MSSQL錯(cuò)誤 MySQL mysql教程 MySQL維護(hù) MySQL資訊 Neo4j Neo4j教程 Neo4j資訊 ORACLE Oracle優(yōu)化 oracle內(nèi)部視圖 oracle參數(shù) oracle開(kāi)發(fā) oracle異常修復(fù) oracle故障處理 oracle教程 oracle維護(hù) oracle視圖 ORACLE資訊 oracle遠(yuǎn)程維護(hù) ORA錯(cuò)誤碼 Redis Redis教程 Redis資訊 SQLServer SQLServer報(bào)錯(cuò) SQLServer教程 SQLServer資訊 SQL修復(fù) SQL異常 SQL遠(yuǎn)程處理 Windows 技術(shù)文檔 操作系統(tǒng) 數(shù)據(jù)庫(kù)
安全登錄
立即注冊(cè) 忘記密碼?
cnn.Execute strSQL
成都創(chuàng)新互聯(lián)科技有限公司,是一家專(zhuān)注于互聯(lián)網(wǎng)、IDC服務(wù)、應(yīng)用軟件開(kāi)發(fā)、網(wǎng)站建設(shè)推廣的公司,為客戶提供互聯(lián)網(wǎng)基礎(chǔ)服務(wù)!
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡(jiǎn)單好用,價(jià)格厚道的香港/美國(guó)云服務(wù)器和獨(dú)立服務(wù)器。創(chuàng)新互聯(lián)成都老牌IDC服務(wù)商,專(zhuān)注四川成都IDC機(jī)房服務(wù)器托管/機(jī)柜租用。為您精選優(yōu)質(zhì)idc數(shù)據(jù)中心機(jī)房租用、服務(wù)器托管、機(jī)柜租賃、大帶寬租用,可選線路電信、移動(dòng)、聯(lián)通等。

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流