Я встретил эту ошибку, когда использовал это как мой OleDbCommand
"UPDATE [Players] SET [Players] = '" + sPlayerName + "' WHERE [ID] = '" + nPlayer + "'"
Error:
Database Error - Unable to Write:
System.Data.OleDb.OleDbException: Data type mismatch in criteria expression.
at System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(Int32 hr)
at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
at System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
этот ID
в предложении WHERE
является полем Auto number в базе данных доступа nPlayerявляется целочисленной переменной
, это работает, когда значение жестко запрограммировано, как это, например, если значение переменной nPlayer равно 3, тогда
"....... WHERE [ID] = 3"
может кто-нибудь сказать мне, как исправить эту ошибку