在VB可視化界面可以添加洗掉資料但SQL里沒有資料顯示,里面表都是空的,如下圖


下面是代碼:
Public fMainForm As frmMain
Public gintSmode As Integer 'for service
Public gintPmode As Integer 'for plane
Public gintAmode As Integer 'for airline
Public gintTmode As Integer 'for customertype
Public gintCmode As Integer 'for customer
Public gintKmode As Integer 'for ticket
Sub Main()
Dim fLogin As New frmLogin
fLogin.Show vbModal
If Not fLogin.OK Then
'Login Failed so exit app
End
End If
Unload fLogin
Set fMainForm = New frmMain
fMainForm.Show
End Sub
Public Function ConnectString() _
As String
'returns a DB ConnectString
'ConnectString = "FileDSN=ticket.dsn;UID=sa;PWD="
ConnectString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=data/ticket.mdb;"
End Function
Public Function ExecuteSQL(ByVal SQL _
As String, MsgString As String) _
As ADODB.Recordset
'executes SQL and returns Recordset
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim sTokens() As String
On Error GoTo ExecuteSQL_Error
sTokens = Split(SQL)
Set cnn = New ADODB.Connection
cnn.Open ConnectString
If InStr("INSERT,DELETE,UPDATE", _
UCase$(sTokens(0))) Then
cnn.Execute SQL
MsgString = sTokens(0) & _
" query successful"
Else
Set rst = New ADODB.Recordset
rst.Open Trim$(SQL), cnn, _
adOpenKeyset, _
adLockOptimistic
'rst.MoveLast 'get RecordCount
Set ExecuteSQL = rst
MsgString = "查詢到" & rst.RecordCount & _
" 條記錄 "
End If
ExecuteSQL_Exit:
Set rst = Nothing
Set cnn = Nothing
Exit Function
ExecuteSQL_Error:
MsgString = "查詢錯誤: " & _
Err.Description
Resume ExecuteSQL_Exit
End Function
Public Sub EnterToTab(Keyasc As Integer)
If Keyasc = 13 Then
SendKeys "{TAB}"
End If
End Sub
Public Function GetRkno() As String
GetRkno = Format(Now, "yymmddhhmmss")
Randomize
GetRkno = GetRkno & Int((99 - 10 + 1) * Rnd + 10)
End Function
uj5u.com熱心網友回復:
你連接的是ACCESS資料庫(data/ticket.mdb)啊,怎么跑到SQL里面去看結果呢?uj5u.com熱心網友回復:
VB中顯示資料庫記錄是需要VB的資料顯示控制元件的,VB不能在SQL中顯示資料庫記錄的。VB的資料顯示控制元件比較多,各有千秋,比較常用的有 MSHFlexGrid 控制元件、TreeView 控制元件、ListView 控制元件、MSFlexGrid 控制元件等等。
當然在使用不同控制元件顯示資料庫記錄是需要顯示記錄的代碼,控制元件不同代碼也不同。
至于什么資料庫與控制元件基本上關系不是很大,就是連接資料庫的SQL陳述句不同而已。
ConnectString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=data/ticket.mdb;"
cnn.Open ConnectString
你的這個路徑資料庫的陳述句基本可以,但
rst.Open Trim$(SQL), cnn,adOpenKeyset, adLockOptimistic 中沒有發現 SQL 記錄集連接的字串,因此無法打開記錄集,也就是無法讀取資料表中的記錄,更不要說顯示記錄了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/42109.html
上一篇:網站點擊率統計
