Ошибка несоответствия типов данных при обновлении базы данных Access из VB.NET

cn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Steve\Documents\Visual Studio 2010\Projects\Church Of Glory\Church Of Glory\Registry.accdb"
cmd.CommandText = "update Registry set relaship = '" + ComboBox3.Text + "',fathnam = '" + fathnam.Text + "',dob = '" & DateTimePicker1.Value & "',age = '" + age.Text + "',addr = '" + addr.Text + "',area = '" + areas.Text + "',city = '" + city.Text + "',zipc = '" + pinc.Text + "',conta = '" + cnct.Text + "',email = '" + email.Text + "',occup = '" + occu.Text + "',bap_stat = '" + bap_stat + "',bap_dat = '" & DateTimePicker2.Value & "',mar_stat = '" + mar_stat + "',mar_dat = '" & DateTimePicker3.Value & "',gen = 'Male' where fnam = '" + ComboBox2.Text + "' and lnam = '" + ComboBox1.Text + "'"
cmd.Connection = cn
cn.Open()
cmd.ExecuteNonQuery()
MsgBox("Update Successful")
cn.Close()

Этот код отлично работает в моей системе.. но он говорит

исключение oledb было необработанным "несоответствие типов данных"

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

1 ответ

Скорее всего, это связано с датами. Без обид, но этот код очень любительский, когда дело доходит до обновления таблицы базы данных.

Вы должны обеспечить лучшую подготовку к датам; поскольку вы упоминаете разницу с другим компьютером, обычно это связано с тем, что форматы даты / времени на разных компьютерах различаются. Очевидно, чаще встречается в разных странах, но, чтобы убедиться в этом, проверьте форматы даты / времени между двумя компьютерами в панели управления.

Кто-то, имеющий доступ к ПК, может дать лучший ответ!

Другие вопросы по тегам