[英]Access Select query values into variables
我正在嘗試創建一個項目應用程序,在所述應用程序中,我有一個數據庫來存儲用戶插入的數據,這些數據我稍后將用於各種事情。 我正在嘗試從數據庫中獲取重量和高度的值,並且我目前正在使用此代碼:
Sub load()
Dim weight As Double
Using getData = New OleDbCommand("SELECT TOP 1 Weight FROM Data WHERE ID_User = @ID_User ORDER BY id DESC", conn)
getData.Parameters.Add("ID_User", OleDbType.VarChar).Value = My.Settings.currentUserID
If conn.State = ConnectionState.Closed Then conn.Open()
weight = getData.ExecuteScalar
End Using
Dim height As Integer
Using getData = New OleDbCommand("SELECT TOP 1 Height FROM Data WHERE ID_User = @ID_User ORDER BY id DESC", conn)
getData.Parameters.Add("ID_User", OleDbType.VarChar).Value = My.Settings.currentUserID
If conn.State = ConnectionState.Closed Then conn.Open()
height = getData.ExecuteScalar
End Using
End Sub
這工作正常,但我試圖減少我的代碼,有沒有辦法在單個 select 查詢中 select 多個字段值?
例子:
SELECT TOP 1 Weight, Height FROM Data WHERE ID_User = @ID_User ORDER BY id DESC
我已經嘗試使用示例代碼,但由於某種未知原因,它只是將重量值返回給我兩次。
感謝@Jeremy和@ParrishHusband幫助我解決了這個問題,如果有人需要解決方案,我就是這樣做的:
Sub load()
Dim weight As Double
Dim height As Integer
Using getData = New OleDbCommand("SELECT TOP 1 Weight, Height FROM Data WHERE ID_User = @ID_User ORDER BY id DESC", conn)
getData.Parameters.Add("ID_User", OleDbType.VarChar).Value = My.Settings.currentUserID
If conn.State = ConnectionState.Closed Then conn.Open()
Dim reader As OleDbDataReader = getData.ExecuteReader
If reader.HasRows Then
While reader.Read
weight = reader.GetString(0)
height = reader.GetString(1)
End While
Else
MsgBox("No rows found")
End If
reader.Close()
End Using
MsgBox(weight & ", " & height)
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.