vb連接資料庫
㈠ 怎麼把VB 和資料庫連接起來
ado
//使用ADO控制項集動態打開ACCESS資料庫列程
//本方法主要面向客戶選擇目標ACCESS資料庫
//取代彈出的ConnectionString的設置對話框
//註:ADOTable和ADOQuery控制項的連接字串不同
//著名關心CSDN結貼率愛國人士-實用庫Tip No 1 - 2003-9-25
function FileName_DataBasePassWord(FileName:string; DataBasePassWord:string=''):string;
begin
FileName_DataBasePassWord:='Provider=Microsoft.Jet.OLEDB.4.0;'+
'User ID=Admin;Data Source='+
form1.OpenDialog1.FileName+ //資料庫文件路徑
';Mode=Share Deny None;Extended Properties="";'+
'Jet OLEDB:System database="";'+
'Jet OLEDB:Registry Path="";'+
'Jet OLEDB:Database Password='+
DataBasePassWord+ //資料庫密碼
';Jet OLEDB:Engine Type=5;'+
'Jet OLEDB:Database Locking Mode=1;'+
'Jet OLEDB:Global Partial Bulk Ops=2;'+
'Jet OLEDB:Global Bulk Transactions=1;'+
'Jet OLEDB:New Database Password="";'+
'Jet OLEDB:Create System Database=False;'+
'Jet OLEDB:Encrypt Database=False;'+
'Jet OLEDB:Don''t Copy Locale on Compact=False;'+
'Jet OLEDB:Compact Without Replica Repair=False;'+
'Jet OLEDB:SFP=False';
end;
procere TForm1.DynamicOpenAdoAccess_BtnClick(Sender: TObject);
begin
form1.OpenDialog1.Filter:='Text files (*.mdb)|*.MDB';
form1.OpenDialog1.DefaultExt:='MDB';
form1.OpenDialog1.InitialDir:=application.GetNamePath;
form1.OpenDialog1.Title:='指定Access資料庫Mdb文件的位置';
if form1.OpenDialog1.Execute then
begin
form1.ADOConnection1.LoginPrompt:=false;
//帶密碼資料庫的使用
//form1.ADOConnection1.ConnectionString:=FileName_DataBasePassWord(form1.OpenDialog1.FileName,'ghyghost');
//不帶密碼數據的使用
form1.ADOConnection1.ConnectionString:=FileName_DataBasePassWord(form1.OpenDialog1.FileName);
form1.ADOConnection1.Open;
form1.ADOQuery1.open; //ADOQuery1's sql Properties is 'select * from [tablename]'
end;
end;
㈡ 如何用vb連接mysql資料庫
VB連接MYSQL數據的方法
博客分類:
VB
VBMySQLSQLServerSQLSocket
第一步:上網http://dev.mysql.com/downloads/connector/odbc/下載mysql-connector-odbc-5.1.6-win32.msi
第二步:安裝mysql-connector-odbc-5.1.6-win32.msi
第三步:運行VB並新建一標准EXE工程, 通過菜單工程->引用 打開」引用」對話框, 找到 MicrosoftActiveX Data Objects x.x Library , 其中 x.x 是版本號, 可能會有很多個, 這里我選擇的是2.5
第四步:打開代碼窗口, 在 Form_Load 過程中輸入下面的代碼(具體說明在代碼的注釋中):
Vb代碼
' 定義並創建資料庫連接和訪問對象
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
' 定義資料庫連接字元串變數
Dim strCn As String
' 定義資料庫連接參數變數
Dim db_host As String
Dim db_user As String
Dim db_pass As String
Dim db_data As String
' 定義 SQL 語句變數
Dim sql As String
' 初始化資料庫連接變數
db_host = "localhost"
db_user = "root"
db_pass = ""
db_data = "erqiuda"
' MySQL ODBC 連接參數
'+------------+---------------------+----------------------------------+
'| 參數名 | 默認值 | 說明 |
'+------------+------------------------------------------------------–+
'| user | ODBC (on Windows) | MySQL 用戶名 |
'| server | localhost | MySQL 伺服器地址 |
'| database | | 默認連接資料庫 |
'| option | 0 | 參數用以指定連接的工作方式 |
'| port | 3306 | 連接埠 |
'| stmt | | 一段聲明, 可以在連接資料庫後運行 |
'| password | | MySQL 用戶密碼 |
'| socket | | (略) |
'+------------+---------------------+----------------------------------+
' 詳細查看官方說明
' http://dev.mysql.com/doc/refman/5.0/en/myodbc-configuration-connection-parameters.html
strCn = "DRIVER={MySQL ODBC 5.1 Driver};" & _
"SERVER=" & db_host & ";" & _
"DATABASE=" & db_data & ";" & _
"UID=" & db_user & ";PWD=" & db_pass & ";" & _
"OPTION=3;stmt=SET NAMES GB2312"
' stmt=SET NAMES GB2312
' 這句是設置資料庫編碼方式
' 中文操作系統需要設置成 GB2312
' 這樣中文才不會有問題
' 版本要求 mysql 4.1+
' 連接資料庫
cn.Open strCn
' 設置該屬性, 使 recordcount 和 absolutepage 屬性可用
cn.CursorLocation = adUseClient
' 訪問表users
sql = "select * from users"
rs.Open sql, cn
MsgBox rs.RecordCount
㈢ 如何用VB連接SQL資料庫做登錄
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怎麼連接資料庫寫入數據
'在使用前需要先安裝MySql的驅動,進行正確配置
'注意:必須給出正確的伺服器名、資料庫名、表名、資料庫連接的用戶名、密碼
Option Explicit
Dim Cnn As ADODB.Connection '定義ADO連接對象
Dim Records As ADODB.Recordset '定義ADO記錄集對象
'連接到資料庫
Function CnnOpen(ByVal ServerName As String, ByVal DBName As String, ByVal TblName As String, ByVal User As String, ByVal PWD As String) '伺服器名或IP、資料庫名、登錄用戶、密碼
Dim CnnStr As String '定義連接字元串
Set Cnn = CreateObject("ADODB.Connection") '創建ADO連接對象
Cnn.CommandTimeout = 15 '設置超時時間
CnnStr = "DRIVER={MySql ODBC 5.1 Driver};SERVER=" & ServerName & ";Database=" & DBName & ";Uid=" & User & ";Pwd=" & PWD & ";Stmt=set names GBK" '
Cnn.ConnectionString = CnnStr
Cnn.Open
End Function
'關閉連接
Function CnnClose()
If Cnn.State = 1 Then
Cnn.Close
End If
End Function
'把Excel寫入MySql中的資料庫
Function InsertToMySql(ByVal SheetName As String, ByVal TblName As String)
Dim SqlStr As String
Dim i, j As Integer
Dim Columns, Rows As Integer
Columns = VBAProject.func_public.GetTotalColumns(SheetName)
Rows = VBAProject.func_public.GetTotalRows(SheetName)
Set Records = CreateObject("ADODB.recordset")
'取得結果集並插入數據到資料庫
Set Records = CreateObject("ADODB.Recordset")
'以下語句提供了插入思路,我只是把單條記錄的插入方式改為循環,以把所有的記錄添加到表中
'rs.Open "insert into newtable values('" & ActiveSheet.Cells(i, 1).Value & "'," & "'" & ActiveSheet.Cells(i, 2).Value & "')", cnn, 0
For i = 2 To Rows
SqlStr = "INSERT INTO " & TblName & " values('" & Sheets(SheetName).Cells(i, 1).Value & "'" '注意:" values('",字母「v」之前是有空格的!!!
For j = 2 To Columns
SqlStr = SqlStr & ",'" & Sheets(SheetName).Cells(i, j).Value & "'"
Next
SqlStr = SqlStr & ")"
Set Records = Cnn.Execute(SqlStr) 'rs.Open SqlStr, cnn, 0 不能用這條語句實現!!!
Next
MsgBox "Insert!", vbOKOnly, "Excel To MySql"
End Function
'清除對象
Function ClearObj()
Set Cnn = Nothing
Set Records = Nothing
End Function
㈤ vb如何連接sql資料庫
1、打開代碼窗口,添加引用:Imports System.Data.SqlClient。
㈥ VB程序怎樣連接資料庫文件
你是想要幫你把這個資料庫編出來嗎?還是只用vb連接資料庫的代碼?
你用什麼資料庫軟體的,不同的軟體的代碼不同。這里有幾個連接用的代碼。
+++++++++++++++++++++++++++
VB程式連接資料庫主要用到兩種類型
(1) SQL Server 資料庫
(2) Oracle 資料庫
對於SQL資料庫我看到別人總結了四種方法
cn.ConnectionString="database=master;driver={SQLServer};server=ASEN-NBXX\SQLEXPRESS;"
cn.ConnectionString = "FILEDSN=2.DSN;"
cn.ConnectionString = "database=master;server=ASEN-NBXX\SQLEXPRESS;driver={SQL Server};"
cn.ConnectionString = "driver={SQL Server};Data Source=sql"
cn.ConnectionString = " server=ASEN-NBXX\SQLEXPRESS;driver={SQL Server};"
cn.ConnectionString = "Data Source=sql"
++++++++++++++++++++++++++++
引自http://..com/question/95277546.html?si=1
最好email一份你的到[email protected]里我可直接修改你的代碼。
㈦ VB如何連接SQL資料庫並登錄
Option Explicit
Private Function Selectsql(SQL As String) As ADODB.Recordset '返回ADODB.Recordset對象
Dim ConnStr As String
Dim Conn As ADODB.Connection
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Set Conn = New ADODB.Connection
'On Error GoTo MyErr:
ConnStr = "Provider=SQLOLEDB.1;Persist Security Info=True;User ID=登錄資料庫用戶名(默認為sa);Password=登錄資料庫密碼;Initial Catalog=資料庫名;Data Source=伺服器名(默認為:MERRYCHINA)" '這是連接SQL資料庫的語句
Conn.Open ConnStr
rs.CursorLocation = adUseClient
rs.Open Trim$(SQL), Conn, adOpenDynamic, adLockOptimistic
Set Selectsql = rs
'Exit Function
'MyErr:
'Set rs = Nothing
'Set Conn = Nothing '釋放相關的系統資源
'MsgBox Err.Description, vbInformation, "系統提示" '顯示出錯信息
End Function
Private Sub Form_Load()
Dim SQL As String
Dim rs As ADODB.Recordset
Dim X As Long
On Error GoTo Err_box
SQL = " select * from 用戶表"
Set rs = Selectsql(SQL)
If rs.RecordCount > 0 Then
rs.MoveFirst
For X = 1 To rs.RecordCount
Combo1.AddItem rs.Fields("用戶名").Value
rs.MoveNext
Next X
Combo1.ListIndex = 0
End If
rs.Close
Exit Sub
Err_box:
End Sub
Private Sub Command1_Click()
Dim SQL As String
Dim rs As ADODB.Recordset
If Text1.Text = "" Then
MsgBox "請輸入口令!", 16
Text1.SetFocus
Exit Sub
End If
If Combo1.Text = "" Then
MsgBox "請選擇登錄用戶!", 16
Combo1.SetFocus
Exit Sub
End If
SQL = "SELECT * FROM 用戶表 WHERE 用戶名='" & Combo1.Text & "' AND 密碼='" & Text1.Text & "' "
Set rs = Selectsql(SQL)
If rs.RecordCount > 0 Then
Form1.Show '想要打開的主窗體
MsgBox "恭喜兄弟,登錄成功!", 64, "提示"
Unload Me
Else
MsgBox "口令不對,請重新輸入!", 16, "提示"
Text1.SetFocus
End If
End Sub
'**********************************************************************
'說明:1) 在工程中引用Microsoft ActiveX Data Objects 2.8 Library ,其它版本也行如:2.0
' 2) 在窗體中加Texe1.text(文本框控制項),Combo1.text(組合框控制項),Command1(命令按鈕)各一個
' 3) 在SQL Server2000中創建資料庫,新建表"用戶表",表中包含"ID,姓名,密碼"等欄位,然後將以上代碼復制,OK搞定
4) 以上方式無需載入ADO控制項,方便!
㈧ 如何用vb語句連接SQL資料庫
可以參考下邊自己稍作修改即可:
Sub Main()
On Error GoTo On_error
'frmWelcome.Show
Set con = New ADODB.Connection
con.ConnectionString = ("Provider=SQLOLEDB;User ID=sa;PWD=;Initial Catalog=human;Data Source=.")
con.Open
con.CommandTimeout = 20
Load frmLogin
frmLogin.Show vbModal
Exit Sub
On_error:
If Err.Number = -2147467259 Or Err.Number = -2147217900 Then
Unload frmWelcome
MsgBox "檢查到 SQL Server 未安裝或軟體所需資料庫未安裝..." & vbCrLf & "正在進一步檢查 SQL Server 的安裝情況,若已啟動則開始安裝資料庫... ", vbInformation + vbOKOnly, "系統提示"
Shell (App.Path & "\Installdb.exe")
End
Else
MsgBox Err.Number & Err.Description, vbInformation + vbOKOnly, "系統提示"
End
End If
End Sub
㈨ vb怎麼連接sql
一、配置ODBC數據源
1、在控制面板中,雙擊管理工具,然後打開ODBC數據源管理器。
2、在「系統DSN」選項卡中,單擊「添加」按鈕,打開「創建新數據源」對話框,在「名稱」列表框中選擇「SQL Server」。選好單擊完成
3、在打開「建立新的數據源到SQL Server」對話框,在「名稱」文本框輸入新數據源的名稱,描述數據源按理解的方式來寫(隨意)。「伺服器」就選擇要連接到的伺服器。
4、選擇使用用戶輸入登錄的ID和密碼的SQL 驗證
。選連接SQL默認設置
5、再下一步下一步,完成。測試數據源看連接是否成功就行了。成功後按確定。
二、VB中設置連接
1、添加部件Mircrosoft ADO Data Control 6.0(OLEDB),把部件拖到窗體。
2、對ADO部件點右鍵選屬性,選擇使用連接字元串,按生成。
3、選擇Mircosoft OLE DB Providar for SQL Server
按下一步
1、輸入伺服器名稱
2、使用指定的伺服器信息
3、在伺服器上選擇資料庫
這時就選擇在SQL Server建好的資料庫就行了
5、測試連接可以看到連接是否成功。
㈩ VB如何連接網路資料庫
在工程里找到Microsoft ADO Data Control控制項,拖到窗體上,事件中這么寫:
Private Sub Coammand1_Click()
Adodc1.connectionstring="Driver={SQL Server};Server=伺服器IP;Uid=用戶名;Pwd=密碼;DataBse=資料庫名"
Adodc1.RecordSource="SELECT * FROM 表名 WHERE 條件"
Adodc1.Refrsh
End Sub
要進行數據操作就這樣引用:
Adodc1.RecordSet.Fields("欄位名")這就是操作數據欄位
把Adodc1綁定到數據控制項那就是綁定數據源