Извините заранее, Im новой для Vb,VB Access Update Несоответствие типов данных
Im создавая небольшое приложение для назначения в качестве викторины MCQ, Im используя ту же форму, но использовать функцию [nextques] перейти к следующему вопрос и использование [ответ] для обновления ответа пользователя на базу данных (доступ).
Я ранее использовал SQL Server, и он работает хорошо, но из-за того, что мне нужно запустить приложение на компьютере школы, где они не позволят мне что-либо устанавливать, я понятия не имею, а потом решил использовать доступ, поскольку экспортировать и включить его в файл отладки.
Ive просматривает некоторые темы, а также некоторые изменения, однако проблема сохраняется. Я установил [input] в качестве целого числа, я поставил параметр на него, но он все еще не работает.
Код ошибки: Данные несоответствие типов в выражении критериев
Public Function answer(ans As Integer)
Try
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=mom.mdb;"
con.Open()
cmd.Connection = con
' Update the answer 1234 (as abcd) according to id in lblnum.text
Dim updatecmd As String = "UPDATE question SET [input] = @ans WHERE id = '" & lblnum.Text & "'"
cmd.Parameters.AddWithValue("@ans", ans)
cmd.CommandText = updatecmd
updatecmd = cmd.ExecuteNonQuery()
con.Close()
'Proceed to next question by calling Function NextQues
nextques()
Catch ex As Exception
MsgBox(ex.Message)
End Try
Return 0
End Function
Я попробовал также сделать это, как это, однако, другая ошибка показывает: COM-объект, который был отделен от его основного RCW не может быть использована
Public Function answer(ans As Integer)
Dim countid As Integer = 1
Try
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=mom.mdb;"
con.Open()
cmd.Connection = con
Dim updatecmd As String = "UPDATE question SET [input] = @ans WHERE id = @countid"
cmd.Parameters.AddWithValue("@countid", countid)
cmd.Parameters.AddWithValue("@ans", ans)
cmd.CommandText = updatecmd
updatecmd = cmd.ExecuteNonQuery()
countid = countid + 1
con.Close()
'Proceed to next question by calling Function NextQues
nextques()
Catch ex As Exception
MsgBox(ex.Message)
End Try
Return 0
End Function
Целочисленные значения в инструкции sql не имеют двойных кавычек вокруг них. Либо одиночная цитата, ни ничего. Не пробовали свой код, но я думаю, что одна цитата будет работать нормально. –
Спасибо, это действительно помогает мне, хотя я столкнулся с другими ошибками, но большинство из них вызвано этой проблемой. Haha thanks – user3224361