我有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。
请注意我不知道如何编程,我昨天才开始,我正在努力让自己完成。不幸的是,我找不到任何关于这个的答案,这就是为什么我要转向这个论坛。如果有人有建议请。
答案 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
请问是否有人可以告诉我这是否是正确的做法?