【发布时间】:2013-08-01 01:10:35
【问题描述】:
我正在 VB.NET 中为 SQL Server 2008 数据库创建导入应用程序。我正在尝试使导入尽可能通用,以减少将来的维护。因此,它会从可导入的预设表列表中获取所有可用列。
主要问题是现在我已经到了要进行错误捕获的地步。我目前正在尝试检查正在导入的值是否可转换为数据库中字段的数据类型。例如,如果您想将日期导入数据库,但您错误地输入了地址字段,我想将其取出并提醒用户。
所以,我有一个与数据库表具有相同架构的 VB 数据表,以及我想进入数据表的值。以下是我已经拥有的(不是很多):
Private Sub SetValue(TargetDataTable As DataTable, ColumnName as String, Value as string)
Dim DBType as Type = TargetDataTable.Columns(ColumnName).Datatype
????
End Sub
我已经对反射进行了一些研究,但它仍然需要我定义数据类型。有没有其他方法可以做到这一点?
【问题讨论】:
-
未测试,但您可以尝试使用
DynamicObject.TryConvert,也可以尝试使用Convert.ChangeType。
标签: sql .net vb.net types datatable