在Vb.Net SQL Server CE上插入DateTime

时间:2011-11-20 22:18:30

标签: vb.net datetime sql-server-ce

我想在SQL Server CE(.sdf)中插入一个出生日期,从.csv文件中读取。

TextLine(5)是字符串格式的日期:ddMMyyyy

我将其转换为VB DateTime(),它会以这种方式转换:Day/Month/Year

之后,我将它插入SQL Server CE,一切都很好,但问题是,在数据库上总是显示为01/01/1900,我做错了什么?

另外我放了一个Console.WriteLine来检查是否有任何错误,没有我预期的错误。

apadronado.fecnacDateTime我的提供商也是cultureinfoen-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 个答案:

答案 0 :(得分:2)

您需要在日期值周围添加单引号。

变化:

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

为:

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