从表1中选择的ID以从表2中的类似ID中检索用户名vb.net

时间:2016-04-25 09:57:13

标签: vb.net mysql-workbench

我有2张桌子。 食谱和食物类别

食谱表:

ID|     recipe name     |description|FoodCategoryID| 
--+---------------------+-----------+--------------| 
1 | Chicken Soup        | ********* |      3       |
2 | Sunrise Surprise    | ********* |      1       |
3 | Toated Ham & Cheese | ********* |      5       |

食物类别表:

FoodCategoryID | FoodCategory |
---------------+--------------|
             1 | Breakfast    |
             2 | Lunch        |
             3 | Dinner       |
             4 | Snack        |
             5 | Brunch       |

我在datagridview1中的窗体上显示的食谱表。一旦用户点击一行,它就会弹出一个新表单,其中有几个文本框,其中填充了他们单击的行中的数据。我遇到问题的文本框是名为 CategoryTxTBox 的FoodCategory文本框。它显示foodcategories表中的FoodCategoryID,我需要它来显示FoodCategory。

我唯一的代码是:

Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView1.CellClick
    Dim conn As New MySqlConnection
    Dim cmd As New MySqlCommand
    conn.ConnectionString = "Server=; user id=; password=; database=;"
    cmd.Connection = conn
    conn.Open()    
    form2.CatagoryTxtBox.Text = DataGridView1.SelectedCells(5).Value.ToString
end sub

但是,只显示FoodCategoryID。

请注意我不知道如何编程,我昨天才开始,我正在努力让自己完成。不幸的是,我找不到任何关于这个的答案,这就是为什么我要转向这个论坛。如果有人有建议请。

1 个答案:

答案 0 :(得分:0)

我在使用以下代码进行100次尝试后解决了我的问题:

Dim reader As MySqlDataReader
    Try
        con.Open()
        Dim query As String
        query = "Select * from foodcategories where FoodCategoryID = '" & DataGridView1.SelectedCells(5).Value.ToString & "'"
        cmd = New MySqlCommand(query, con)
        reader = cmd.ExecuteReader
        While reader.Read
            Dim sname As String
            sname = reader.GetString("FoodCategory")
            RecipeContent.Catagory.Text = sname
        End While
        con.Close()

    Finally
        con.Dispose()
    End Try

请问是否有人可以告诉我这是否是正确的做法?