我有插入登录和数据的代码,然后它应该用INSERT INTO更新数据库,我把它设置成给我一个错误信息,我没有得到任何信息,但它们都没有出现,当我检查Access文件时,什么也没有添加。
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我知道这很多,可能是一些简单的事情,但我不能理解它。
发布于 2016-10-21 03:22:07
正确的语法是insert into TABLENAME(COLUMN1,COLUMN2,..) VALUES(..,..)
https://stackoverflow.com/questions/40162701
复制相似问题