从SQL查询中的同一行返回不同的列

时间:2013-01-04 19:58:23

标签: database vb.net ado.net

我正在开发一个与远程MySQL数据库交互的项目。一切都很好,我准备继续前进。我已经成功执行了几个查询,其中一个查询,如果数据库中存在特定记录,则返回(true或false)。那部分效果很好。现在我想做的不是执行布尔搜索,而是返回布尔搜索返回true的同一行中另一个单元格的实际值(我希望这是有意义的)。换句话说,如果第100行的第0列中存在字符串,我想返回第100行第3列的值。

以下是当前代码:

    Private Function LicenseExists(argKey As String) As Boolean
    Dim strQuery As String
    Dim connection As MySqlConnection
    connection = New MySqlConnection()
    connection.ConnectionString = "Server=domain.com; Uid=username; Pwd=password; Database=db_name;"
    strQuery = "SELECT column_name FROM table_name WHERE column_name=?somevalue"
    Using SQLcmd = New MySqlCommand(strQuery, connection)
        SQLcmd.Parameters.AddWithValue("?somevalue", argKey)
        connection.Open()
        Using reader = SQLcmd.ExecuteReader()
            Return reader.Read()
        End Using
    End Using
End Function

1 个答案:

答案 0 :(得分:1)

...简单地

strQuery = "SELECT column_name, other_column_name FROM table_name WHERE column_name=?somevalue"

其中other_column_name是您感兴趣的其他列。

然后获得价值......

While reader.Read
    cboMessage.Items.Add(New clsMessage(reader.GetValue(reader.GetOrdinal("other_column_name"))))
End While