vb6資料庫
Ⅰ VB6.0中怎樣使用data控制項實現資料庫查找功能
1、使用data控制項的FindFirst方法可以實現資料庫記錄的查找。
2、工具:vb6。
3、具體實現方法:
a)在窗體上添加data1、dbgrid1、text1、command1、label1
b)在dbgrid1的DataSource屬性里選擇data1
c)實現代碼如下:
PrivateSubCommand1_Click()
'查找定位記錄
Data1.Recordset.FindFirst"CategoryID="&Text1.Text
DBGrid1.DataSource
EndSub
PrivateSubForm_Load()
Data1.Connect="Access2000;"'設置資料庫類型
Data1.DatabaseName="C:db1.MDB"'連接資料庫
Data1.RecordSource="Categories"'資料庫中的表
Data1.Refresh'打開資料庫
EndSub
4、注意:資料庫可以使用vb6文件夾內的NWIND.MDB
Ⅱ vb6.0如何連接MYsql資料庫
最簡單的辦法是:在VB里添加一個ADO部件,將其放到窗體中,然後右鍵選擇屬性,在其屬性頁的下面有個生成連接字元串的項,點擊其後的按鈕,然後一步步的來做(很簡單的),然後連接字元串就會在那裡生成,只要拷貝這個字元串,就可以用ADODB來連接了。。。
Ⅲ vb6用ado 連接資料庫後,如何獲得數據
VB6用Ado連接資料庫後,通過Sql結構化查詢語句獲得資料庫中表的數據。
結構化查詢語言(Structured Query Language)簡稱SQL,是一種特殊目的的編程語言,是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統;同時也是資料庫腳本文件的擴展名。
ADO 是為 Microsoft最新和最強大的數據訪問範例 OLE DB 而設計的,是一個便於使用的應用程序層介面。OLE DB為任何數據源提供了高性能的訪問,這些數據源包括關系和非關系資料庫、電子郵件和文件系統、文本和圖形、自定義業務對象等等。ADO 在關鍵的 Internet方案中使用最少的網路流量,並且在前端和數據源之間使用最少的層數,所有這些都是為了提供輕量、高性能的介面。
應用代碼示例:
Private Sub Command1_Click()
Dim cn As New ADODB.Connection '定義資料庫的連接
Dim rs As New ADODB.Recordset
Dim sql As String
sql = "select * from jishijilu"
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "wd.mdb;Persist Security Info=False"
cn.Open
rs.CursorLocation = adUseClient
rs.Open sql, cn, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = rs
End Sub
Ⅳ VB6資料庫簡單問題
一:
Private Sub Command1_click()
Adodc1.CommandType = adCmdText
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=" & App.Path & "\a.mdb"
Adodc1.RecordSource = "select test1,test2,test3 from 表一 where test1='a100'"
Adodc1.Refresh
if Adodc1.Recordset.RecordCount>0 then
text2.text=Adodc1.Recordset.Fields("test2")
text3.text=Adodc1.Recordset.Fields("test3")
else
msgbox("不存在。")
end if
End Sub
二:
Private Sub Command2_click()
dim a() as string,b() as string
a=split(text4.text,vbcrlf)
for i=0 to ubound(a)
b=split(a(i)," ")
Adodc1.Recordset.AddNew
Adodc1.Recordset..Fields("test1")=b(0)
Adodc1.Recordset..Fields("test2")=b(1)
Adodc1.Recordset..Fields("test3")=b(2)
next
Adodc1.Recordset.Update
end sub
三:
dim a as string,b() as string
a="dfgfbnhmjh——hnjgh——bnhg——gh"
b=split(a,"——")
for i=0 to ubound(b)
text1.text=text1.text & b(i) & vbcrlf
next
Ⅳ 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;
Ⅵ 用VB6如何操作ORALC資料庫
訪問資料庫,對於VB6來說,最好的就是ADO。用ODBC連接oralc
我們把對資料庫的操作封裝在一個cDataBase類中,他主要有以下介面,
1、ConnectionString屬性,MakeConnectionString方法。
一個是直接給出連接字元串,一個是動態生成連接字元串。
至於動態生成,我可以調用ADODB控制項那個屬性的對話框,來實現。
2、SQLCommand屬性
這個是SQL命令的,直接給一個SQL命令字元串,至於格式,我們後面詳細講。
3、Parameters屬性
這是一個數組參數,對應於SQL命令里的參數。(PS:最好是二維的)
綜合上面的2和3二點,講一下。
SQL命令的寫法:
如果僅僅諸如select * from Table,這個沒什麼好講的。
我們實際開發中,會用到許多動態的參數值,尤其是插入新記錄的時候。
很多同行喜歡有拼接的方式,比如:
insert into student(id,name,password) values(1,'test','123456')
這種寫法,在實際工作中,會產生一句相當難看懂的代碼,
因為後面的值,全是一些變數或控制項的值。
這里推薦這種寫法:insert into student(id,name,password) values(?,?,?)
把這個字元串給我們的SQLCommand,
再定義一個二維數組,dim p(2) as string
p(0)="1"
p(1)="test"
p(2)="123456"
這里讀者要說了,你這全是字元型啊,我ID是數字啊。
補充說明一下,數字,字元,日期,都可以定義成string。
這三種類型,是所有的資料庫都支持的。
我上面PS了一下,說是定義二維的,那就是說,把參數的類型也加到數組里去,這樣就比較完善了。
4、下面就是二個執行SQL語句的方法,為什麼是二個呢?因為VB6不支持多態。
ExecuteSQLr方法,
此方法返回一個記錄集,比如:select語法。
ExecuteSQLn方法,
此方法返回一個影響的行數,比如:insert語法,delete語法。
這二個方法,先要判斷一下前面的屬性有沒有賦值。
接著,我們用ADO的Command對象來操作。
'返回受影響的記錄數,Update/Delete/Insert
Public Function ExecuteSQLn() As Long
On Error GoTo errTrap
Dim MyCon As New Connection '連接對象
Dim MyCMD As New Command 'cmd對象
MyCon.ConnectionString = DataBaseConnectionString '連接字元串
MyCon.CursorLocation = adUseClient '游標
MyCon.Open '打開連接
MyCMD.ActiveConnection = MyCon 'CMD對象的當前連接
MyCMD.CommandType = adCmdText 'CMD對象的命令類型
MyCMD.CommandText = SQLString 'CMD對象的具體命令
MyCMD.CommandTimeout = 15 'CMD對象的超時時間
If Len(XMLParameters) = 0 Then '判斷是否有參數(我這里的參數不是數組,是XML字元串)
'無參數
Else
Dim p() As String, i As Long
If MyXML.XMLString2StringArray(XMLParameters, p) Then 'XML字元串轉換為數組
For i = LBound(p) To UBound(p)
MyCMD.Parameters(i) = p(i) '給SQL命令中的?賦值,
Next
End If
End If
Dim N As Long
MyCMD.Execute N '執行
ExecuteSQLn = N '返回影響的行數
errExit:
Set MyCMD = Nothing '釋放
MyCon.Close '關閉連接
Set MyCon = Nothing '釋放
XMLParameters = "" '清空參數
SQLString = "" '清空命令
Exit Function
errTrap:
ExecuteSQLn = 0
'寫錯誤日誌
WriteLog "文件:cADO" & vbCrLf & _
"過程:ExceuteSQLn()" & vbCrLf & _
"錯誤號:" & Err.Number & vbCrLf & _
"錯誤描述:" & Err.Description
Err.Clear
Resume errExit
End Function
Ⅶ VB6.0連接ACCESS資料庫
在創建窗體時
不
要選擇
標准
窗體
選
VB資料庫創建導向
然後
一步步
往下做
,..呵呵
Ⅷ VB6程序查詢資料庫
既然是多方式模糊查詢,那麼必須具備幾個條件:
1、首先有查詢方式的選擇框,還有查詢需要的關鍵字的輸入框;
2、模糊查詢結果不是一條記錄,那麼必須將查詢出的所有結果在列表框控制項中顯示出來;
3、點擊列表框中的一條記錄,在文本框中顯示這條記錄的詳細內容。
我比較喜歡用MSFlexGrid控制項顯示查詢結果,下面給你一個比較實用的範例:
Private Sub Command1_Click() '查詢
If Combo1.Text = "" Then
MsgBox "你沒有選擇查詢方式,請選擇!", 16, "錯誤!"
Exit Sub
End If
If Text1.Text = "" Then
MsgBox "你沒有填寫關鍵字,請填寫!", 16, "錯誤!"
Exit Sub
End If
If Combo1.Text = "查詢條件1" Then
strSQL = "Select * From 數據表名 欄位名1 Like '%" & Text1.Text & "%'"
ElseIf Combo1.Text = "查詢條件2" Then
strSQL = "Select * From 數據表名 Where 欄位名2 Like '%" & Text1.Text & "%'"
ElseIf Combo1.Text = "查詢條件3" Then
strSQL = "Select * From 數據表名 Where 欄位名3 Like '%" & Text1.Text & "%'"
End If
Call SJK(db) '資料庫連接函數
RS.Open strSQL, db, 2, 2
Do While Not RS.EOF
SST = SST + 1
RS.MoveNext
Loop
RS.Close
Set RS = Nothing
If SST = 0 Then
MsgBox "你沒有你查詢的記錄!", 16, "無記錄!"
With MSFlexGrid1
.Cols = 3
.Rows = 1
.TextMatrix(0, 0) = " 序號"
.TextMatrix(0, 1) = " 姓名"
.ColWidth(0) = 1000
.ColWidth(1) = 1000
.ColWidth(2) = 0
End With
db.Close
Set db = Nothing
Exit Sub
End If
With MSFlexGrid1
.Cols = 3
.Rows = SST + 1
.TextMatrix(0, 0) = " 序號"
.TextMatrix(0, 1) = " 姓名"
.ColWidth(0) = 1000
.ColWidth(1) = 1000
.ColWidth(2) = 0
RS.Open strSQL, db, 2, 2
For I = 1 To SST
.TextMatrix(I, 0) = I
.TextMatrix(I, 1) = RS!姓名
If Option1(0).Value = True Then
.TextMatrix(I, 2) = RS!SID
ElseIf Option1(1).Value = True Then
.TextMatrix(I, 2) = RS!SID
ElseIf Option1(2).Value = True Then
.TextMatrix(I, 2) = RS!SID
ElseIf Option1(3).Value = True Then
.TextMatrix(I, 2) = RS!ZID
ElseIf Option1(4).Value = True Then
.TextMatrix(I, 2) = RS!SID
End If
RS.MoveNext
Next I
RS.Close
Set RS = Nothing
End With
db.Close
Set db = Nothing
Label1(2).Caption = "本次查詢結果" & SST & "條"
End Sub
Private Sub MSFlexGrid1_Click()
If Not Val(Trim(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 2))) = 0 Then
PKID = Val(Trim(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 2)))
Call SJK(db)
strSQL = "select * from 數據表名 Where ID=" & PKID & " Order By ID"
RS.Open strSQL, db, 3, 3
Text2(0).Text = RS!欄位1
Text2(1).Text = RS!欄位2
Text2(2).Text = RS!欄位3
Text2(3).Text = RS!欄位4
Text2(4).Text = RS!欄位5
Text2(5).Text = RS!欄位6
Text2(6).Text = RS!欄位7
Text2(7).Text = RS!欄位8
RS.Close
Set RS = Nothing
db.Close
Set db = Nothing
End If
End Sub