Несоответствие типа данных в выражении критериев

У меня есть один файл в VB.NET с Ms Access As Backend... При вставке данных в таблицу нет ошибки при запросе и ошибке типа данных, но иногда происходит исключение OleDB Ошибка: "Несоответствие типов данных в выражении критериев". запрос -....

Dim cmdstr1 As String = ""
        Dim constr As String = ""
          Dim sqlQuery As String = ""
        constr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\PhoneDiary\MyDiary.mdb"

 cmdstr = "Insert Into [DetailData]([ShortName],[Title],[FirstName],[MiddleName],[LastName],[Occupation],[DOB],[Gender],[Country],[State],[Address],[ZipCode],[City],[Memo],[CategoryId],[SubCategoryId],[FavouritesID],[PhotoPath],[vCardPath]) VALUES(aa,bb,cc,dd,ee,ff,gg,hh,ii,jj,kk,ll,mm,nn,oo,pp,qq,rr,ss)"

  con = New OleDbConnection(constr)
  com = New OleDbCommand(cmdstr, con)
  con.Open()
 com.Parameters.AddWithValue("aa", xx)
 com.Parameters.AddWithValue("bb", cmbTitle.Text)
 com.Parameters.AddWithValue.....
 com.Parameters.AddWithValue....
 .....................
......
 com.ExecuteNonQuery()-------"Data type mismatch in criteria expression"  Here occurs Error

Так может ли кто-нибудь помочь мне решить эту проблему, пожалуйста,

Ответы

Ответ 1

В OP вы можете отправить пример значения cmdstr при возникновении OleDbException? Я подозреваю, что mqbt прав, и, вероятно, ваше поле DOB не может анализировать любой формат, который предоставляет DateTime.

Как связанный вопрос, хорошо ли использовать OleDbCommand.Parameters.AddWithValue для изменения параметров в строке SQL таким образом?

Я всегда создавал строки SQL в VBA Access, просто конкатенируя строку с параметрами, а затем выполнял ее с помощью Docmd.RunSql(), который, кажется, всасывает длинные строки SQL с десятками параметров. Но просто посмотреть параметры и типы. Я делал это неправильно?

Ответ 2

Выражайте свою ошибку несоответствия в деталях, помогите решить, где она выбрасывает проблему, для которой тип данных. В противном случае вы можете подробно проверить ошибку в окне сообщений об ошибках