Вставка DateTime в Vb.Net SQL Server CE - PullRequest
0 голосов
/ 21 ноября 2011

Я хочу вставить в SQL Server CE (.sdf) дату рождения, прочитанную из файла .csv.

TextLine(5) - это дата в строковом формате: ddMMyyyy

Я конвертирую его в VB DateTime(), он конвертируется следующим образом: Day/Month/Year

После этого я вставляю его в SQL Server CE, все хорошо, но проблема в том, что набаза данных всегда отображается как 01/01/1900, что я делаю не так?

Также я поставил Console.WriteLine, чтобы проверить, есть ли ошибки, ошибок нет, как я ожидал.

apadronado.fecnac это DateTime также мой провайдер cultureinfo это en-US

У меня есть следующий код:

apadronado.fecnac = DateTime.ParseExact(TextLine(5).ToString & " 00:00", _
  "yyyyMMdd HH:mm", provider)
cmd.CommandText = "INSERT INTO personas VALUES ('" & apadronado.ci & "','" & _
   apadronado.nombre & "','" & apadronado.apellido & "','" & _
   apadronado.dpto & "','" & apadronado.ciudad & "'," & _
   apadronado.fecnac & ")"
Console.WriteLine(cmd.CommandText)
Try
  cmd.ExecuteNonQuery()
Catch ex As Exception
  Console.WriteLine(ex)
End Try

Что я делаю не так?

Спасибо

1 Ответ

2 голосов
/ 21 ноября 2011

Вам нужно добавить одинарные кавычки вокруг значения даты.

Изменение:

apadronado.ciudad & "'," & _
   apadronado.fecnac & ")"

до:

apadronado.ciudad & "','" & _
   apadronado.fecnac & "')"
...