1

我想从组合框中获取选定的数据并将其上传到 mysql 数据库,但它没有按预期工作。这是我的代码:

        Try
        Dim cmd2 As New MySqlCommand
        Dim insertStatment As String = "INSERT INTO comment (name,comment,reason)  
         VALUES (@name,@comment, @reason)"
        cmd2 = New MySqlCommand(insertStatment, db_con)
        cmd2.Parameters.AddWithValue("@name", txtname.Text)
        cmd2.Parameters.AddWithValue("@comment", richtxtcomment.Text)
        cmd2.Parameters.AddWithValue("reason", combobox.SelectedValue)

        cmd2.ExecuteNonQuery()
        MessageBox.Show("Thank your for your comment")

    Catch ex As Exception
        MessageBox.Show("bad")
        db_con.Close()
        Exit Sub
    End Try
4

1 回答 1

0

根据 ComboBox 中项目的添加方式,可以使用不同的属性:

  • SelectedIndex获取所选项目的索引。
  • SelectedItem获取选中的对象。
  • SelectedText获取选中的文本。
  • SelectedValue获取所选项目的 ValueMember 属性。

因此,如果您没有设置ValueMember 属性,那么它将为空。如果要存储组合框中显示的内容,请使用 SelectedText:

cmd2.Parameters.AddWithValue("@reason", combobox.SelectedText)

如果要在 ComboBox 中存储对象的某些属性或方法的结果,请使用 SelectedItem:

cmd2.Parameters.AddWithValue("@reason", combobox.SelectedItem.ToString())
于 2013-05-02T13:41:46.660 回答