VB.net& LINQ - 识别日期类型

时间:2018-06-12 19:04:55

标签: sql-server vb.net linq ms-access

我对LINQ很新,所以它仍然有点过头了。

使用几行VB,我将数据表从MS Access数据库复制到SQL Server数据库。我正在使用LINQ来识别传输数据的哪些部分是字符串和数字等,因此它将知道是否放置单引号。

现在我遇到了麻烦,因为有些字段是日期类型字段,我似乎无法让LINQ将它们识别为日期。这是简化的查询字符串:

 Dim Itemarray = row.ItemArray.Select(Function(i) If(TypeOf i Is Date, "#" + i + "#", i.ToString))

VS正在抨击该行,其中包括

  

“无法从这些参数中推断出类型参数的数据类型   参数。明确指定数据类型可能会纠正此问题   错误“。

我也尝试使用DateAndTime类型,它显示了同样的事情。但我没有看到任何其他可行的数据类型。

我错过了什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

TypeOf用于对象。请改用VarType

Dim Itemarray = row.ItemArray.Select(Function(i) If(VarType(i) = VariantType.Date, "#" + i + "#", i.ToString))

请注意,我不熟悉VB.Net,一般只是VBA和VB,所以我可能错过了明显的事情。