如何动态查询多个表 VB.NET

How to Query multiple tables dynamically VB.NET

我的数据库中有 30 个不同的表,每个表都有相同的列名 "res_ret"=define as 每个表 0。我想更新并设置 res_ret value=1 。这是我的代码,这是工作。我怎样才能在动态编码中做到这一点。提前致谢:)

conn.Open()

sql = "Update table_1 SET res_ret= 1"
cmd.CommandText = sql
cmd.Connection = conn
cmd.ExecuteNonQuery()

sql = "Update table_2 SET res_ret=1"
cmd.CommandText = sql
cmd.Connection = conn
cmd.ExecuteNonQuery()

sql = "Update table_3 SET res_ret=1"
cmd.CommandText = sql
cmd.Connection = conn
cmd.ExecuteNonQuery()

conn.Dispose()
conn.Close()

正如@TimSchmelter 指出的那样,可能有更好的方法,但是:

VB.NET

Dim tableList = { "table_1", "table_2", "table_3" }

For Each tableName As String In tableList
    cmd.CommandText = String.Format("update {0} set res_ret = 1", tableName)
    cmd.ExecuteNonQuery()
Next

c#

var tableList = new List<string> { "table_1", "table_2", "table_3" ... };

foreach(var tableName in tableList) {
    cmd.CommandText = string.Format("update {0} set res_ret = 1", tableName);
    cmd.ExecuteNonQuery();
}

终于这个代码工作.. Dim tableList = {"table_1", "table_2", "table_3"}

        For Each tableName As String In tableList
            conn.Open()
            cmd.CommandText = String.Format("update {0} set res_ret = 1", tableName)
            cmd.Connection = conn
            cmd.ExecuteNonQuery()
            conn.Dispose()
            conn.Close()
        Next