插入日期作为一个字符串使用DAO记录集访问
问题描述:
我正在使用一些代码,我在旧的C#后发现运行DAO插入Access到VB.net。我运行代码来插入数字,它运行良好。但是,当我尝试在散列之间插入date
作为字符串时,我得到一个Data type conversion error
。我看了一下,我看不出如何更改记录集字段的数据类型以接受字符串/日期。插入日期作为一个字符串使用DAO记录集访问
下面是代码:
Dim dbEngine As New dao.DBEngine
Dim db As dao.Database = dbEngine.OpenDatabase(DataDirectoryName & DatabaseName)
Dim rs As dao.Recordset = db.OpenRecordset(TableName)
Dim myFields As dao.Field() = New dao.Field(FieldNames.Count - 1) {}
For k As Integer = 0 To FieldNames.Count - 1
myFields(k) = rs.Fields(FieldNames(k))
Next
dbEngine.BeginTrans()
For i As Double = 0 To Data.Rows - 1
rs.AddNew()
For k As Integer = 0 To FieldNames.Count - 1
rs.Fields(k).Value = Data.Value(k, i)
rs.Fields(FieldNames(k)).Value = Data.Value(k, i)
myFields(k).Value = Data.Value(k, i)
Next
rs.Update()
Next
dbEngine.CommitTrans()
rs.Close()
db.Close()
这里是数据的一行:
(0) = "74"
(1) = "#01 February 2012 00:02:00#"
(2) = "40"
(3) = "130"
(4) = "60"
'数据' 是一个自定义的类,它是一个list (of list (of string))
。
DAO要求日期格式为#mm/dd/yyyy hh:nn:ss#(年份也可以是2个字符)。重新格式化日期,你应该没问题。 – 2013-02-14 14:20:12
@Ciarán我已经尝试#mm/dd/yyyy hh:nn:ss#和'#mm/dd/yyyy hh:nn:ss#',两者都给出与以前相同的错误。 – Pezzzz 2013-02-14 14:47:37
@Remou“”分隔符是从vb.net显示这是一个字符串,我不相信这些发送到数据库,并不知道我会如何删除它们。正如在前面的评论中,我已经尝试过使用日期和字符串分隔符以及日期分隔符,但仍然得到相同的错误。 – Pezzzz 2013-02-14 14:49:07