我已經創建了一個包含3個值的ID,用戶名和分數的數據庫。當點擊保存按鈕時,我需要創建一個新的條目到這個數據庫。我的程序需要創建一個由應用程序提供的用戶名和分數的新行。Visual Basic項目無法更新Microsoft Access數據庫
這是我的代碼,以更新現有的數據庫:
Private Sub ButtonSaveScore_Click(sender As Object, e As EventArgs) Handles ButtonSaveScore.Click
provider = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="
dataFile = "F:\Documents\Class Documents\CSC289 - K6A - Programming Capstone Project\Project\Scoreboard.accdb"
connString = provider & dataFile
myConnection.ConnectionString = connString
Using con As New OleDbConnection(connString),
cmd As New OleDbCommand("UPDATE [Scores] SET [UserName] = ?, [Score] = ? WHERE [ID] = ?", con)
con.Open()
cmd.Parameters.Add("@ID", OleDbType.Char).Value = "NEW"
cmd.Parameters.Add("@UserName", OleDbType.Char).Value = playerName
cmd.Parameters.Add("@Score", OleDbType.Char).Value = wins
cmd.ExecuteNonQuery()
End Using
End Sub
我得到
OLEDB例外是未處理
它強調cmd.ExecuteNonQuery()
並說數據標準不匹配。
有人能給我推薦這個工作嗎?
野生猜測---分數應該是數字......也許OleDbType.Integer – jsotola
'@ ID'被分配爲Char,但是你寫了一個字符串。請檢查您的OleDbTypes。我想,'@ ID'和'@ UserName'應該是一個VarChar/String和'@ Score'一個Int32。 – muffi