Dal*_*ino 3 vb.net datatable datatables blueprism
如何从 VB.NET 中的输入数据表(已填充)更改数据列的数据类型,然后我会将代码放在 Blue Prism Code Stage 中输入:
我要更改数据类型的字段(列)的名称
我要转换的数据类型
输入集合(数据表)
例子:
Dim InputDT As New DataTable
InputDT.Columns.Add(New DataColumn("test"))
dt.Columns("test").DataType = GetType(Date)
Run Code Online (Sandbox Code Playgroud)
谢谢
如果 DataTable 已经填充了数据,则不能更改其任何列的类型。如果您尝试这样做,您将收到ArgumentException一条非常简单的消息:
一旦有数据,就不能更改列的数据类型。
一个好的替代方法是创建一个新的 DataTable(或克隆现有的 DataTable),更改列类型,然后用旧 DataTable 中的数据填充它。
这样的事情应该工作:
Dim InputDT As New DataTable
InputDT.Columns.Add(New DataColumn("test"))
InputDT.Rows.Add("1/1/2018")
Dim clonedDT As DataTable = InputDT.Clone()
clonedDT.Columns("test").DataType = GetType(Date)
For Each row As DataRow In InputDT.Rows
clonedDT.ImportRow(row)
Next
Run Code Online (Sandbox Code Playgroud)
请注意,为了使其工作,该列中的数据必须对新类型有效。
编辑:
要处理现有值无法转换为新类型的情况,您可以使用Try.. Catch如下语句:
' ...
Try
For Each row As DataRow In InputDT.Rows
clonedDT.ImportRow(row)
Next
Catch ex As ArgumentException
' An error occurred, use 'ex.Message' to display the error message. Example:
Console.WriteLine(ex.Message)
End Try
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15698 次 |
| 最近记录: |