Dim conn As New ADODB.Connection '創建一個 Connection 實例,在這里使用New等於將Dim和Set合並為一段代碼執行
Dim rs As ADODB.Recordset '創建一個 Recordset 實例,不使用New 是因為,經常需要重復使用Set,因此沒必要在這里使用
Dim CnStr As String, Sql As String '創建兩個字元串變數分別存放兩個集合的SQL語句代碼段
1、裝載資料庫(不屬於Recordset集合)
=============
Dim FileNamw$, DbIp$, DbName$, DbUser$, DbPw$
'以上5個字元串變數分別表示文件路徑和文件名、資料庫地址、資料庫名、數據操作員用戶名、操作員密碼
FileName = App.Path & "\'資料庫名'"
DbIp = "資料庫地址"
DbName = "資料庫名"
DbUser = "數據操作員用戶名"
DbPw = "操作員密碼"
'以上變數根據資料庫類型的不同而不同,有可能只需要1至兩個變數
'1)連接Access資料庫:
'-------------------
CnStr = "PROVIDER=microsoft.jet.oledb.3.51;persist security info =false;data source=" & FileName & ";Jet OLEDB:Database Password=" & DbPw
'2)連接Oracle資料庫:
'-------------------
CnStr = "PROVIDER=MSDAORA.1;Password=" & DbPw & ";User ID=" & DbUser & ";Data Source=" & FileName & ";Persist Security Info=True"
'其中:
'PASSWORD: 密碼
'User ID: 用戶號
'Data Source: 資料庫名
'Persist Security Info:
'Provider:
'3)連接VF的DBF庫:
'----------------
CnStr = "PROVIDER=MSDASQL.1;Persist Security Info=False;Driver={Microsoft Visual FoxPro Driver};UID=" & DbUser & ";SourceDB=" & FileName &
";SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;"
'4)連接SQL的資料庫
'------------------
CnStr = "PROVIDER=MSDataShape;Data PROVIDER=MSDASQL;uid=" & DbUser & ";pwd=" & DbPw & ";DRIVER=SQL Server;DATABASE=" & DbName & ";WSID=GQSOFT;SERVER=" &
DbIP
'也可以使用這段簡易代碼 CnStr = "Provider=SQLOLEDB;Data Source=" & DbIp & ";DATABASE=" & DbName & ";UID=" & DbUser & ";pwd=" & DbPw
Conn.Open cnstr '使用 Connection 集合的 Open 方法 與資料庫建立連接
2、Recordset集合的常用方法
==========================
'1)打開一個表
'------------
Sql = "select * from 表名" 'SQL查詢語句
Set rs = New ADODB.Recordset '新建一個實例
rs.Open Sql, conn '使用 Open 方法打開資料庫中的一個表
'注意,這種打開方式只能使用 rs.MoveNext (即,向後移動行坐標)而不能像其他方向,並且不能修改數據內容
'
'rs.Open Sql, conn,1 '雖然只加了個「1」,但這種方法可以向任何方向移動行坐標。
'
'以下參數代表了這個可選值的含義
'0 = adOpenForwardOnly (默認值)打開僅向前類型游標。
'1 = adOpenKeyset 打開鍵集類型游標。
'2 = adOpenDynamic 打開動態類型游標。
'3 = adOpenStatic 打開靜態類型游標。
'
'雖然使用以上方法可以可以實現行坐標(游標)的任意移動,但是仍然無法寫入數據。因此需要進一步的對Open 方法進行完善
'rs.Open Sql, conn, 1, 3 '後面的3是確定讀寫許可權的
'以下參數代表了這個可選值的含義
'1 = adLockReadOnly (默認值)只讀 — 不能改變數據。
'2 = adLockPessimistic 保守式鎖定(逐個) — 在編輯時立即鎖定數據源的記錄。
'3 = adLockOptimistic 開放式鎖定(逐個) — 只在調用 Update 方法時才鎖定記錄。
'4 = adLockBatchOptimistic 開放式批更新 — 用於批更新模式(與立即更新模式相對)。
'
'2)讀寫數據
'----------
'增加一行記錄並對新記錄的內容進行修改並保存可以如下寫法
rs.AddNew '增加一行記錄
rs("...")="..." '數據讀寫操作
...
rs.UpDate '保存寫入資料,如果使用只讀許可權,則不能使用這個方法
rs.Close '這個方法用來關閉你所代開的表,如果不使用這個方法也可以,但是資料庫仍然認為你在對標進行鎖定,可造成資料庫負擔過重
2、對數據進行篩選和排序
=======================
Sql = "select * from 表名" 'SQL查詢語句
'以上為打開一個表的所有內容
Sql = "select top 50 * from 表名" 'SQL查詢語句
'以上為只打開前50行的記錄
Sql = "select top 50 列名1,列名2,列名5 from 表名" 'SQL查詢語句
'以上為只打開前50行的記錄,並且只打開第1、2、5列數據
Sql = "select * from 表名 where 列名1='" & 欄位 & "'" 'SQL查詢語句
'以上為一個簡單的篩選,表示打開的內容必須符合[列名1='" & 欄位 & "'"]的內容
'需要注意的是,資料庫列的類型必須匹配,比如字元串類型需要以單引號括起
'而數字類型則不能用單引號括起
'另外SQL語句還支持通配符,例如 列名1 like '%" & 欄位 & "%'" 表示包含[欄位]
'在表達式中的匹配
'? _(下劃線) 任何單一字元
'* or % 零個或多個字元
'# 任何單一數字(0 — 9)
'[charlist] 任何在字元表中的單一字元
'[!charlist] 任何不在字元表中的單一字元
'註:根據資料庫的不同?、_和*、%的應用有所差別,比如SQL只使用% 和 _ 分別代表多個字元和單一字元
Sql = "select * from 表名 where 列名1='" & 欄位 & "' ORDER BY 欄位1 ASC" '對查詢結果進行升序排列
Sql = "select * from 表名 where 列名1='" & 欄位 & "' ORDER BY 欄位1 DESC" '對查詢結果進行降序排列
Sql = "select * from 表名 where 列名1='" & 欄位 & "' ORDER BY 欄位1 DESC, ORDER BY 欄位2 DESC" '對查詢結果進行多維降序排列(速度奇慢,不推薦使用)
3、Recordset集合的常用屬性方法
==============================
rs.BOF '是否游標在最上邊
rs.EOF '是否游標在最下邊
rs.RecordCount '記錄集的行數(如果使用像前類型的游標,可能返回不準確)
rs.AddNew '新建一行記錄
rs.Update '保存當前行被修改的記錄
rs.Delete '刪除當前行
rs.Close '關閉記錄集
4、Fields集合的一些屬性的解釋
=============================
'以下為簡寫,正常情況需要rs.Fileds.。。。但是Fields屬於Recordset的一個默認集合,因此可以省略
rs() '括弧內可以是列名也可以是列的序號例如:rs("姓名")、rs(3) 都是是可以的
rs(3).Name '返回列名
rs(3).Type '返回列的類型
rs(3).Value '返回當前行的值
rs.Fields.Count '返回列數
⑵ vb連接sql資料庫方法
使用ADO資料庫可以分為有源資料庫和無源資料庫,即是否使用了DSN數據源,如下例:
1、在連接資料庫前首先要在VB菜單中「工程」-「引用」從中選擇 microsoft activeX Data objects 2.6 library和 microsoft activeX Data objects recordset 2.6兩個組件,這是在連接數據前所必做的工作。
2、接下來定義ADO的連接對象,如下所示:
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
第一種方法採用的是無源的資料庫連接方法
conn.ConnectionString = "Driver={sql server};server=JSZX3-11;uid=sa;pwd=;database=wzc"
conn.ConnectionTimeout = 30
conn.Open
rs.Open "select 用戶名,密碼 from login where 用戶名='" & Trim(Combo1.Text) & "' And 密碼='" & Trim(Text1.Text) & "'", conn, adOpenStatic, adLockReadOnly, adCmdText
If rs.EOF = True And rs.BOF Then
m = MsgBox("請重新登錄", vbExclamation)
Text1.Text = ""
Text1.SetFocus
Else
Form1.Hide
End If
rs.Close
第二種方法連接資料庫的方法,這一種方法是採用有源的方法與資料庫連接的方法,代碼如下所示:
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
conn.ConnectionString = "DSN=login;uid=sa;pwd=;"
conn.ConnectionTimeout = 30
conn.Open
rs.Open "select 用戶名 from login", conn, adOpenStatic, adLockReadOnly, adCmdText
Dim i As String
For t = 0 To Val(rs.RecordCount) - 1
i = Trim(rs.Fields("用戶名").Value)
rs.MoveNext
Combo1.AddItem i
Next t
rs.Close以上作為參考,,你可以再試一下,,加油喲
⑶ VB6.0 如何連接SQL 資料庫
你在SQL SERVER中新建一個資料庫,然後將這個資料庫生成腳本文件,根據情況修改後轉存為MASTER下的一個存儲過程。至於資料庫名和數據文件路徑可以做成參數傳入,然後在VB中用連到MASTER後執行這個存儲過程。
用VB與建立的SQL資料庫連接
1.使用ODBC DSN連接字元串
DSN=mySystemDSN;Uid=myUsername;Pwd=myPassword
----------------------------------------------
2.使用無ODBC DSN的連接字元串
(1)標准安全性
Driver={SQL Server};Server=MyServerName;DataBase=myDatabaseName; _
Uid=myUsername;Pwd=myPassword
------------------------------------------------
(2)信任連接(分兩種)
1)連接字元串1
Driver={SQL Server};Server=MyServerName;DataBase=myDatabaseName;Uid=;Pwd=;
2)連接字元串2
Driver={SQL Server};Server=MyServerName;DataBase=myDatabaseName;Trusted_Connection=yes
---------------------------------------------------------------------------
(3)連接本地SQL SERVER
Driver={SQL Server};Server=(local);DataBase=myDatabaseName; _
Uid=myUsername;Pwd=myPassword
-------------------------------------------------------------
(4)連接遠程SQL SERVER
Driver={SQL Server};Server=xxx.xxx.xxx.xxx; _
Address=xxx.xxx.xxx.xxx,1433; _
Network=DBMMSOCN;DataBase=myDatabaseName; _
Uid=myUsername;Pwd=myPassword
-------------------------------------------------------
3.使用OLEDB PROVIDER FOR SQL SERVER的連接字元串
(1)標准安全性
Provider=SQLOLEDB.1; _
Password=myPassword; _
User ID=myUsername; _
Initial Catalog=myDatabaseName; _
Data Source=MyServerName
-------------------------------------------
(2)信任連接
Provider=SQLOLEDB.1; _
Initial Catalog=myDatabaseName; _
Data Source=MyServerName; _
Integrated Security=SSPI
--------------------------------------
(3)連接到命名實例
Provider=SQLOLEDB.1; _
Initial Catalog=myDatabaseName; _
Data Source=myServerName\myInstanceName; _
Password=myPassword; _
User ID=myUsername
--------------------------------------
(4)連接到本地SQL SERVER
Provider=SQLOLEDB.1; _
Password=myPassword; _
User ID=myUsername; _
Initial Catalog=myDatabaseName; _
Data Source=(local)
-----------------------------------------
(5)連接到遠程SQL SERVER
Provider=SQLOLEDB.1; _
Netwprk Library=DBMMSOCN; _
Data Source=xxx.xxx.xxx.xxx,1433; _
Password=myPassword; _
User ID=myUsername; _
Initial Catalog=myDatabaseName;
⑷ VB使用ADO控制項怎麼連接SQL資料庫
右鍵ado-屬性-通用-生成提供連接access選擇microsoft
jet
4.0或者3.51sql
server
選擇
microsoft
ole
db
provider
for
sql
server下一步
選擇你的資料庫就可以了。
⑸ VB怎麼連接SQL Server資料庫
VB連接資料庫方式主要有兩種,一是通過ODBC介面,ODBC是windows系統里提供的介面,專門連接資料庫的,可以連接多種資料庫,在應用電腦的設置ODBC,也就DSN數據源(下面說到的),連接到伺服器。
第二種就是ADO方式,
VB使用ADO資料庫可以分為有源資料庫和無源資料庫,即是否使用了DSN數據源,如下例:
1、在連接資料庫前首先要在VB菜單中「工程」-「引用」從中選擇 microsoft activeX Data objects 2.6 library和 microsoft activeX Data objects recordset 2.6兩個組件,這是在連接數據前所必做的工作。
2、接下來定義ADO的連接對象,如下所示:
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
第一種方法採用的是無源的資料庫連接方法
conn.ConnectionString = "Driver={sql server};server=JSZX3-11;uid=sa;pwd=;database=wzc"
conn.ConnectionTimeout = 30
conn.Open
rs.Open "select 用戶名,密碼 from login where 用戶名='" & Trim(Combo1.Text) & "' And 密碼='" & Trim(Text1.Text) & "'", conn, adOpenStatic, adLockReadOnly, adCmdText
If rs.EOF = True And rs.BOF Then
m = MsgBox("請重新登錄", vbExclamation)
Text1.Text = ""
Text1.SetFocus
Else
Form1.Hide
End If
rs.Close
這是第二種方法連接資料庫的方法,這一種方法是採用有源的方法與資料庫連接的方法,代碼如下所示:
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
conn.ConnectionString = "DSN=login;uid=sa;pwd=;"
conn.ConnectionTimeout = 30
conn.Open
rs.Open "select 用戶名 from login", conn, adOpenStatic, adLockReadOnly, adCmdText
Dim i As String
For t = 0 To Val(rs.RecordCount) - 1
i = Trim(rs.Fields("用戶名").Value)
rs.MoveNext
Combo1.AddItem i
Next t
rs.Close
連接資料庫的方法很多很多,只要各位去勇敢的償試一下,就可以感覺資料庫的方法並不是很難,本人以前也很想做這方法的工作,只是學識不深,未能完成胸中大志,如今對這些方法的多少有一些了解,特意為那些初學者以供學習之用。
VB使用ADO資料庫可以分為有源資料庫和無源資料庫,即是否使用了DSN數據源,如下例:
1、在連接資料庫前首先要在VB菜單中「工程」-「引用」從中選擇 microsoft activeX Data objects 2.6 library和 microsoft activeX Data objects recordset 2.6兩個組件,這是在連接數據前所必做的工作。
2、接下來定義ADO的連接對象,如下所示:
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
第一種方法採用的是無源的資料庫連接方法
conn.ConnectionString = "Driver={sql server};server=JSZX3-11;uid=sa;pwd=;database=wzc"
conn.ConnectionTimeout = 30
conn.Open
rs.Open "select 用戶名,密碼 from login where 用戶名='" & Trim(Combo1.Text) & "' And 密碼='" & Trim(Text1.Text) & "'", conn, adOpenStatic, adLockReadOnly, adCmdText
If rs.EOF = True And rs.BOF Then
m = MsgBox("請重新登錄", vbExclamation)
Text1.Text = ""
Text1.SetFocus
Else
Form1.Hide
End If
rs.Close
這是第二種方法連接資料庫的方法,這一種方法是採用有源的方法與資料庫連接的方法,代碼如下所示:
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
conn.ConnectionString = "DSN=login;uid=sa;pwd=;"
conn.ConnectionTimeout = 30
conn.Open
rs.Open "select 用戶名 from login", conn, adOpenStatic, adLockReadOnly, adCmdText
Dim i As String
For t = 0 To Val(rs.RecordCount) - 1
i = Trim(rs.Fields("用戶名").Value)
rs.MoveNext
Combo1.AddItem i
Next t
rs.Close
連接資料庫的方法很多很多,只要各位去勇敢的償試一下,就可以感覺資料庫的方法並不是很難,本人以前也很想做這方法的工作,只是學識不深,未能完成胸中大志,如今對這些方法的多少有一些了解,特意為那些初學者以供學習之用。
⑹ vb怎麼連接sql
在窗體上添加adodc控制項
滑鼠右鍵-adodc屬性-在通用選項卡里,點生成,選for
SQL
Server驅動程序-下一步-連接選項卡里
1.輸入伺服器名稱,2.使用Windows
NT
集成安全設置。3.選擇一個資料庫
點測試連接,看看是否成功。按確定
點記錄源選項卡,命令類型選8,命令文本(SQL)寫:select
*
from
table1
確定,就連接到SQL資料庫的表table1了。
Private
Sub
Command1_Click()
If
Not
Adodc1.Recordset.EOF
Then
Text1.Text
=
Adodc1.Recordset.Fields("line1")
End
If
End
Sub
⑺ vb的sql資料庫連接
先建一個工程,建立一個form1,form1中的代碼如下:
Dim rsNew As ADODB.Recordset
Dim CnNew As ADODB.Connection
Dim wsh As New WshShell
Dim serverlink As String
Private Sub Command1_Click()
Dim Mag As String
On Error GoTo strErrMag
Set CnNew = New ADODB.Connection
Set wsh = New WshShell
Text1 = wsh.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\ZJRB\SERVERNAME")
Text3 = wsh.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\ZJRB\PWD")
Text2 = wsh.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\ZJRB\USENAME")
serverlink = "Provider=SQLOLEDB.1;Password=" + Trim(Text3.Text) + ";Persist Security Info=True;User ID=" + Trim(Text2.Text) + ";Initial Catalog=master;Data Source=" + Trim(Text1.Text)
CnNew.Open serverlink
Exit Sub
strErrMag:
Mag = "資料庫連接錯誤,在下列的窗體中請輸入正確的信息!"
MsgBox Mag, vbOKOnly, "錯誤:資料庫連接"
Me.Enabled = False
Load Form2
Form2.Show
End Sub
再建一個form2,form2的代碼如下:
Dim rsNew As ADODB.Recordset
Dim CnNew As ADODB.Connection
Dim wsh As New WshShell
Dim serverlink As String
Private Sub Command1_Click()
Dim Mag As String
On Error GoTo strErrMag
Set CnNew = New ADODB.Connection
Set wsh = New WshShell
serverlink = "Provider=SQLOLEDB.1;Password=" + Trim(Text3.Text) + ";Persist Security Info=True;User ID=" + Trim(Text2.Text) + ";Initial Catalog=master;Data Source=" + Trim(Text1.Text)
CnNew.Open serverlink
MsgBox ("資料庫連接成功!"), vbInformation + vbOKOnly, "提示信息"
Set CnNew = Nothing
wsh.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\ZJRB\SERVERNAME", Trim(Text1)
wsh.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\ZJRB\PWD", Trim(Text3)
wsh.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\ZJRB\USENAME", Trim(Text2)
Form1.Enabled = True
Unload Me
Exit Sub
strErrMag:
Mag = "資料庫連接錯誤,在下列的窗體中請輸入正確的信息!"
MsgBox Mag, vbOKOnly, "錯誤:資料庫連接"
End Sub
試試看吧,這個把SQL的登錄名與密碼放在注冊表中,同樣也可以在注冊表中放軟體的試用期限!