TIMEINとTIMEOUTの値をAccessから取得し、後で使用するために変数に格納したいと考えています。私が試しているコードは機能していません。コードは次のとおりです。VB.NET:アクセスから変数への値の転送方法
Public timein As DateTime
Public timeout As DateTime
Dim selectquery As String
selectquery = "SELECT * FROM emp_timing " & "WHERE emp_code = @p1 AND day = @p2"
Using con = New OleDbConnection(dbProvider & dbSource)
Using cmd = New OleDbCommand(str, con)
timein = cmd.Parameters.Item("emp_timein")
timeout = cmd.Parameters.Item("emp_timeout")
con.Open()
'cmd.Parameters.Add("@p1", OleDbType.VarWChar).Value = System.DateTime.Now
cmd.Parameters.Add("@p1", OleDbType.VarWChar).Value = TextBox1.Text
cmd.Parameters.Add("@p2", OleDbType.Date).Value = New DateTime(Now.Year, Now.Month, Now.Day)
Try
Dim rowsSelect = cmd.ExecuteScalar()
If rowsSelect > 0 Then
MsgBox("Data added to variables")
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Using
End Using
を参照してくださいので、エラーは何ですか?それはデータ型変換と何か関係ありますか?解決する問題がわかっている場合に役立ちます – Plutonix
これはエラーです。タイプ 'System.Data.OleDb.OleDbParameter'の値を 'Date'に変換することはできません。 –
最初に、**あなたがクエリを実行した後**にそのERROR HEREコードを移動する必要があります。それを 'ExecuteReader'に変更して、返されたデータリーダーから値を読み込みます。 – Plutonix