更改 vb.net 数据表中列的值

发布于 2024-12-28 04:31:22 字数 285 浏览 4 评论 0原文

我想循环访问数据表并更改该数据表中特定列的值。

例如:数据库返回Request_IDDescDateStatus_IndStatus_Ind 列包含整数值。我不想向用户显示整数值。我想根据该列中返回的整数值将其转换为字符串值。

if Status_Ind = 1 then 
    'the values changes to Published

I want to loop through a databale and change the values of a specific column in that datatable.

eg: the database returns Request_ID, Desc, Date and Status_Ind. The Status_Ind column contains integer values. I dont want to show the integer values to the user. I want to convert that to a string value based on the integer values returned in that columns.

if Status_Ind = 1 then 
    'the values changes to Published

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

灯下孤影 2025-01-04 04:31:22

假设您的数据表定义如下:

Dim dt As DataTable

首先,您需要向数据表添加一个新列来保存状态:

dt.Columns.Add("Status", Type.GetType("System.String"))

现在循环数据表并更新状态列:

For Each dr As DataRow In dt.Rows
    Select Case CInt(dr.Item("Status_Ind"))
        Case 1
            dr.Item("Status") = "Published"
        Case 2
            dr.Item("Status") = "Some other Status"
        Case Else
            dr.Item("Status") = "Unknown"
    End Select
Next

然后您可以删除整数列:

dt.Columns.Remove("Status_Ind")

Assuming your DataTable is defined as this:

Dim dt As DataTable

First you need to add a new column to your DataTable to hold the Status:

dt.Columns.Add("Status", Type.GetType("System.String"))

Now Loop through the DataTable and update the status column:

For Each dr As DataRow In dt.Rows
    Select Case CInt(dr.Item("Status_Ind"))
        Case 1
            dr.Item("Status") = "Published"
        Case 2
            dr.Item("Status") = "Some other Status"
        Case Else
            dr.Item("Status") = "Unknown"
    End Select
Next

Then you could then remove the integer column:

dt.Columns.Remove("Status_Ind")
酷遇一生 2025-01-04 04:31:22

您可以通过创建另一列来做到这一点:

Dim dt As New DataTable
dt.Columns.Add(New DataColumn("status_int", GetType(Int32)))
dt.Columns.Add(New DataColumn("status_str", GetType(String)))

'add example row - not publised
Dim newDr0 As DataRow = dt.NewRow
newDr0(0) = 0
dt.Rows.Add(newDr0)

'add example row - publised
Dim newDr1 As DataRow = dt.NewRow
newDr1(0) = 1
dt.Rows.Add(newDr1)

For Each dr As DataRow In dt.Rows
    Select Case dr(0)
        Case 1
            dr(1) = "Published"
        Case Else
            dr(1) = "Not published"
    End Select
Next

For Each dr In dt.Rows
    Console.WriteLine(dr(0).ToString + " " + dr(1).ToString)
Next

You could do it by creating another column:

Dim dt As New DataTable
dt.Columns.Add(New DataColumn("status_int", GetType(Int32)))
dt.Columns.Add(New DataColumn("status_str", GetType(String)))

'add example row - not publised
Dim newDr0 As DataRow = dt.NewRow
newDr0(0) = 0
dt.Rows.Add(newDr0)

'add example row - publised
Dim newDr1 As DataRow = dt.NewRow
newDr1(0) = 1
dt.Rows.Add(newDr1)

For Each dr As DataRow In dt.Rows
    Select Case dr(0)
        Case 1
            dr(1) = "Published"
        Case Else
            dr(1) = "Not published"
    End Select
Next

For Each dr In dt.Rows
    Console.WriteLine(dr(0).ToString + " " + dr(1).ToString)
Next
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文