0
ログインとデータを挿入してINSERT INTOを使用してデータベースを更新するコードがあります。エラーメッセージを表示するように設定していますが、いずれかを取得するが、それらのいずれも来ていないと私はアクセスファイルをチェックするときに何も追加されていません。SQL INSERT INTOはエラーメッセージなしでAccess DBに挿入しません
Private Sub AddLog()
Access.AddParams("@em1", em1)
Access.AddParams("@em2", em2)
Access.AddParams("@em3", em3)
Access.AddParams("@em4", em4)
Access.AddParams("@em5", em5)
Access.AddParams("@sit1", sit1)
Access.AddParams("@sit2", sit2)
Access.AddParams("@sit3", sit3)
Access.AddParams("@phys1", phys1)
Access.AddParams("@phys2", phys2)
Access.AddParams("@phys3", phys3)
Access.AddParams("@phys4", phys4)
Access.AddParams("@phys5", phys5)
Access.AddParams("@note", note)
Access.ExecQuery("INSERT INTO EmotionLoginDB (emotion1, emotion2, emotion3, emotion4, emotion5, situation1, situation2, situation3, physical1, physical2, physical3, physical4, physical5, notes) " & _
"VALUE (@em1, @em2, @em3, @em4, @em5, @sit1, @sit2, @sit3, @phys1, @phys2, @phys3, @phys4, @phys5, @note); ")
If Not String.IsNullOrEmpty(Access.exception) Then
End If
End Sub
ここにデータベースも設定されています。
Imports System.Data.OleDb
Public Class DBControl
Private DBCon As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=StableMe.accdb;")
Private DBCmd As OleDbCommand
Public DBDA As OleDbDataAdapter
Public DBDT As DataTable
Public params As New List(Of OleDbParameter)
Public recordCt As Integer
Public exception As String
Public Sub ExecQuery(query As String)
recordCt = 0
exception = ""
Try
DBCon.Open()
DBCmd = New OleDbCommand(query, DBCon)
For Each p As OleDbParameter In params
DBCmd.Parameters.Add(p)
Next
params.Clear()
DBDT = New DataTable
DBDA = New OleDbDataAdapter(DBCmd)
recordCt = DBDA.Fill(DBDT)
Catch ex As Exception
exception = ex.Message
End Try
If DBCon.State = ConnectionState.Open Then
DBCon.Close()
End If
End Sub
Public Sub AddParams(name As String, value As Object)
Dim newParam As New OleDbParameter(name, value)
params.Add(newParam)
End Sub
End Class
私はその多くを知っていて、それはおそらく単純なものですが、私はその周りに頭を包むことはできません。
です。「VALUES(...)」ではなく「VALUE(...)」です。 – Siyual