【发布时间】:2016-12-20 19:34:30
【问题描述】:
我目前正在从 SQL 中选择一堆值并将它们加载到数据表中。我正在尝试查找该特定列并更新每行中的值。
Dim dt as DataTable
'not all code is included - but this definitely works on selecting data
sql = " Select value1, value2, value3 from TblA "
cmd = New SqlClient.SqlCommand(sql, conn)
Dim reader As SqlDataReader = cmd.ExecuteReader
dt.Load(reader)
return dt
我的目标是从 VALUE3 中的每一行获取值,并通过一个名为 UpdateFormat 的小型格式化函数运行它。类似的东西......
Dim specValue As String
For Each row As DataRow In dt.Rows
UpdateFormat(specValue ) = row.Item("Value3")
Next row
我希望更新每个值并更新 dataTable,使其具有正确的值。
【问题讨论】:
-
您是否要更改 value3 或从 value3 中的任何内容创建格式化的内容并保存到新列 - 我最初建议后者,以便其他任何地方需要它未格式化的仍然可以访问它。
-
@plutonix 我想更新 value3 并将其保留在同一列中。基本上从“Value3”列中取出每一行并使用我的 UpdateFormat 函数对其进行更新。对不起,如果我不清楚。没有其他东西需要它未格式化 - 我只将那个数据集/数据表用于我的报告。
-
我的问题与此范围有关。您是否确定如果您更改/格式化 value3 而不是创建一个新列并将格式化的值保存在那里,什么都不会破坏?
-
在你的循环中:
row("Value3") = ApplyFormat(row.Field(Of String)("Value3")) -
没有什么是因为您想在填满表格后立即为特定列的每条记录提供特殊格式...为什么要这样做之后 i> 当你可以在 SQL 中执行它时,它已经被格式化了,这更有意义,并且减少了可能出错的繁重工作......只是我的两分钱......无论如何我看到了
UpdateFormat是什么接受一个字符串,并可能更新一个特定的项目以匹配值 3.. 这仍然没有任何意义。