當前位置:首頁 » 操作系統 » vb查詢資料庫實例

vb查詢資料庫實例

發布時間: 2022-11-02 00:04:58

『壹』 VB查詢access資料庫

DataGrid控制項是不能實現你要求的功能的,但是你可以改用MSFlexGrid控制項。代碼有些復雜,我不知道你之前有些什麼代碼。寫這幾個代碼給你,希望對你有幫助,我假定combo1在選擇之前的文本是「請選擇條件」,資料庫表的名稱我假定是 你的資料庫名稱 欄位名稱也用你自己的。 這個代碼的意思就是,當有一個兩個查找條件沒有給定的時候應該怎麼設置查找條件。
Private Sub command1_Click()
If Not text1.Text = "" Then
If Not combo1.Text = "請選擇條件" Then
sqltxt = "select * from 你的資料庫名 where 文本框對應欄位 = '" & text1.Text & "' AND 五選項對應欄位 = '" & comobo1.Text & "' "
Else
SQLtxt = "select * from 你的資料庫名 where 文本框對應欄位 = '" & text1.Text & "' "
End If
Else
If Not combo1.Text = "請選擇條件" Then
SQLtxt = "select * from 你的資料庫名 where 五選項對應欄位名 = '" & combo1.Text & "' "
Else
SQLtxt = "select * from 你的資料庫名"
End If
End If
Call ShowData(SQLtxt)
End Sub
用一個循環語句可以將查出來的全部顯示出來,但是我不知道你資料庫里有些什麼。給你一個我寫的代碼,參考這寫你自己的吧
Public FangWen As ADODB.Connection '定義連接對象FangWen
Public rsFangWen As ADODB.Recordset '定義記錄集對象rsFangWen
Public cmmFangWen As ADODB.Command '定義命令對象cmmFangWen
Public Sub shuju() '此過程實現連接資料庫和打開記錄集
Set FangWen = New ADODB.Connection '設置連接對象實例
FangWen.CursorLocation = adUseClient '設置游標類型
FangWen.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\管理信息.mdb;Jet OLEDB:Database Password=txgf" '與資料庫連接
Set rsFangWen = New ADODB.Recordset
Set rsFangWen.ActiveConnection = FangWen '設置記錄集對象實例
Set cmmFangWen = New ADODB.Command
Set cmmFangWen.ActiveConnection = FangWen '設置命令對象實例
End Sub

Private Sub ShowData(SQL As String)
Call shuju '調用模塊,打開資料庫
rsFangWen.Open SQL, FangWen, adOpenStatic, adLockOptimistic '打開記錄集,其內容為表 "你的表"
With MSFlexGrid1
.ColWidth(0) = 1000
.ColWidth(1) = 1000
.ColWidth(2) = 2000
.ColWidth(3) = 1200 's設置表格格式
.TextMatrix(0, 0) = "學號"
.TextMatrix(0, 1) = "姓名"
.TextMatrix(0, 2) = "學院"
.TextMatrix(0, 3) = "班級" '表格第一行顯示內容
.Rows = 1
Do While Not rsFangWen.EOF '利用循環,學號,姓名,學院,班級顯示在表裡
.Rows = .Rows + 1
.TextMatrix(.Rows - 1, 0) = rsFangWen.Fields(0) & ""
.TextMatrix(.Rows - 1, 1) = rsFangWen.Fields(1) & ""
.TextMatrix(.Rows - 1, 2) = rsFangWen.Fields(10) & ""
.TextMatrix(.Rows - 1, 3) = rsFangWen.Fields(11) & ""
rsFangWen.MoveNext
Loop
End With
rsFangWen.Close '關閉記錄集
FangWen.Close '斷開資料庫連接
End Sub

而且我還不知道你用的是什麼資料庫,我用的是access

『貳』 vb中access資料庫查詢

Private Sub Command1_Click()
Dim Conn As New ADODB.Connection

Dim Rs As New ADODB.Recordset
Conn.Open connstring ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & 「資料庫的路徑和名字」 & ";Persist Security Info=True;Jet OLEDB:Database Password= & "資料庫密碼"
sql = "Select * From 「 & 」表名" & where ID=20"

Rs.Open sql, Conn, 1, 3

If NOT rs.eof then

m_date= rs("日期型欄位的名字")
m_data= rs("數值型欄位的名字")
end if
end sub

『叄』 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

『肆』 如何在vb程序中查找資料庫信息並顯示

要查找資料庫信息,關鍵是要解決鏈接資料庫的問題,下面簡述Vb如何SQL資料庫:
有兩種方法可以實現,一種是通過ODBC數據源的配置進行連接,一種是通過純代碼編輯進行連接,下面我們就詳細介紹一下這兩種連接方法。

ODBC數據源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按下一步

4、
1)輸入伺服器名稱
2)使用指定的伺服器信息
3)在伺服器上選擇資料庫
這時就選擇你在SQL Server建好的資料庫就行了

5、測試連接可以看到連接是否成功!
通過代碼VB連接SQL資料庫

Public conn As New ADODB.Connection
Public rs As New ADODB.Recordset
Public addFlag As Boolean
Public Function OpenCn(ByVal Cip As String) As Boolean
Dim mag As String
On Error GoTo strerrmag
Set conn = New ADODB.Connection
conn.ConnectionTimeout = 25
conn.Provider = "sqloledb"
conn.Properties("data source").Value = Cip '伺服器的名字
conn.Properties("initial catalog").Value = "zqoa" '庫名
'conn.Properties("integrated security").Value = "SSPI" '登陸類型
conn.Properties("user id").Value = "sa"
conn.Properties("password").Value = "sa"
conn.Open
OpenCn = True
addFlag = True
Exit Function
strerrmag:
mag = "Data can't connect"
Call MsgBox(mag, vbOKOnly, "Error:Data connect")
addFlag = False
Exit Function
End Function

Public Sub cloCn()
On Error Resume Next
If conn.State <> adStateClosed Then conn.Close
Set conn = Nothing
End Sub
Public Function openRs(ByVal strsql As String) As Boolean '連接資料庫記錄集
Dim mag As String
Dim rpy As Boolean
On Error GoTo strerrmag
Set rs = New ADODB.Recordset
If addFlag = False Then rpy = True
With rs
.ActiveConnection = conn
.CursorLocation = adUseClient
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open strsql
End With
addFlag = True
openRs = True
End
'Exit Function
strerrmag:
mag = "data not connect"
Call MsgBox(mag, vbOKOnly, "error:connect")
openRs = False
End
'Exit Function
End Function
Public Sub cloRs()
On Error Resume Next
If rs.State <> adStateClosed Then rs.Clone
Set rs = Nothing
End Sub

『伍』 vb中用sql語句查詢資料庫

"SELECT
sno,sco
FROM
sco
WHERE
sno='"
&
text1.text
&
"'"
因為現在不弄VB6了,所以具體怎麼連接的代碼我忘了,大概就是如果得到的結果RecordSet是空的,即Bof
And
Eof,則用戶名錯誤,否則如果規定了用戶名不可重復,就有且僅有1條記錄,再比較其中的sco與Text2.Text是否相等,是則正確通過,否則密碼錯誤。

『陸』 在VB怎麼查詢資料庫中的數據啊!

1.一個簡單的查詢的例子:
'*定義一個連接
Dim Conn As ADODB.Connection
'*定義一個記錄集
Dim mrc As ADODB.Recordset
'*分別實例化
Set Conn = New ADODB.Connection
set mrc =New ADODB.Recordset
'*定義一個連接字元串
dim ConnectString as string
ConnectString="provider=microsoft.jet.oledb.4.0;data source=" & App.Path & "\data\資料庫名.mdb;jet oledb:database password=資料庫密碼"
'*打開連接
Conn1.Open ConnectString
'*定義游標位置
Conn1.CursorLocation = adUseClient
'*查詢記錄集(從student表中找出名子為"張三"的記錄)
mrc.open "select * from student where name='張三'",Conn, adOpenKeyset, adLockOptimistic

'*現在你已經得到了你想要查詢的記錄集了,那就是mrc
'*你可以把此記錄集與DataGrid榜定,用datagrid顯示你查詢的記錄
set me.datagrid.datasource=mrc

『柒』 VB如何實現查詢資料庫並顯示出來

可以快速導出使用excel 就有該功能

PublicFunctionExportToExcel(ByValstrOpenAsString,TitleAsString,diAsString,conAsADODB.Connection)
'*********************************************************
'*名稱:ExporToExcel
'*功能:導出數據到EXCEL'*用法:ExporToExcel(strOpen查詢字元串,titile
'*excel標題,di保存路徑,con資料庫連接地址)
'*********************************************************
lok:OnErrorGoToer
Screen.MousePointer=11
DimRs_DataAsNewADODB.Recordset
DimIrowcountAsLong
DimIcolcountAsLong

DimXlAppAsNewExcel.Application
DimxlbookAsExcel.Workbook
DimxlSheetAsExcel.Worksheet
DimxlQueryAsExcel.QueryTable

WithRs_Data
If.State=adStateOpenThen
.Close
EndIf
.ActiveConnection=con
.CursorLocation=adUseClient
.CursorType=adOpenStatic
.LockType=adLockReadOnly
.Source=strOpen
DoEvents
'Debug.PrintstrOpen
.Open

EndWith
Debug.PrintstrOpen
'SetRs_Data=Open_rst_from_str(strOpen)
WithRs_Data
If.RecordCount<1Then
MsgBox("沒有記錄!")
Screen.MousePointer=0
ExitFunction
EndIf
'記錄總數
Irowcount=.RecordCount
'欄位總數
Icolcount=.Fields.Count
EndWith

SetXlApp=CreateObject("Excel.Application")
Setxlbook=Nothing
SetxlSheet=Nothing
Setxlbook=XlApp.Workbooks().Add
SetxlSheet=xlbook.Worksheets("sheet1")


'添加查詢語句,導入EXCEL數據
SetxlQuery=xlSheet.QueryTables.Add(Rs_Data,xlSheet.Range("a1"))

WithxlQuery
.FieldNames=True
.RowNumbers=False
.FillAdjacentFormulas=False
.PreserveFormatting=True
.RefreshOnFileOpen=False
.BackgroundQuery=True
.RefreshStyle=xlInsertDeleteCells
.SavePassword=True
.SaveData=True
.AdjustColumnWidth=True
.RefreshPeriod=0
.PreserveColumnInfo=True
EndWith

xlQuery.FieldNames=True'顯示欄位名
xlQuery.Refresh

DimiAsInteger,ZdAsString
WithxlSheet
Fori=1To6

Zd=.Range(.Cells(1,1),.Cells(1,Icolcount)).item(1,i)
'.Range(.Cells(1,1),.Cells(1,Icolcount)).Item(1,i)=Lm_YwToZw(Zd)
Next
.Range(.Cells(1,1),.Cells(1,Icolcount)).Font.name="黑體"
'設標題為黑體字
'.Range(.Cells(1,1),.Cells(1,Icolcount)).Font.Bold=True
'標題字體加粗
.Range(.Cells(1,1),.Cells(Irowcount+1,Icolcount)).Borders.LineStyle=xlContinuous
'.Range(.Cells(Irowcount+2,Icolcount)).Text=Zje
'設表格邊框樣式
EndWith
XlApp.Visible=True
XlApp.Application.Visible=True
'xlBook.SaveAsdi
SetXlApp=Nothing'"交還控制給Excel
Setxlbook=Nothing
SetxlSheet=Nothing
Screen.MousePointer=0
ExitFunction
er:
'Dispose_Err
MsgBoxerr.Description&"從新導報表,請等待!"

GoTolok:
EndFunction

使用這個模塊就可以,你可以看看引用的函數即可

熱點內容
app什麼情況下找不到伺服器 發布:2025-05-12 15:46:25 瀏覽:714
php跳過if 發布:2025-05-12 15:34:29 瀏覽:467
不定時演算法 發布:2025-05-12 15:30:16 瀏覽:131
c語言延時1ms程序 發布:2025-05-12 15:01:30 瀏覽:166
動物園靈長類動物配置什麼植物 發布:2025-05-12 14:49:59 瀏覽:737
wifi密碼設置什麼好 發布:2025-05-12 14:49:17 瀏覽:150
三位數乘兩位數速演算法 發布:2025-05-12 13:05:48 瀏覽:399
暴風影音緩存在哪裡 發布:2025-05-12 12:42:03 瀏覽:545
access資料庫exe 發布:2025-05-12 12:39:04 瀏覽:632
五開的配置是什麼 發布:2025-05-12 12:36:37 瀏覽:367