在vb.net中更新组合框中的值时出现问题

时间:2010-03-17 07:37:17

标签: mysql vb.net

我有这个代码,但我有一个问题。 当我更新但没有真正对值进行任何更改并按下更新按钮时,数据变为空。似乎我删除了这个值。

我已经教过一个解决方案,即将combobox1.selectedtext和combobox1.selecteditem添加到函数中。但它不起作用。

当您尝试在更新时更改值时,

combobox1.selecteditem正在运行。但是,如果不使用组合框

更改值,则会保存空值

combobox1.selectedtext即使不改变也会将数据保存到数据库中。 但如果您尝试更改数据,则不会保存数据。

- 我把两者都合并了,但仍然只有一个表演,我认为这是我首先加入的那个:

Dim shikai As New Updater





Try

    shikai.id = TextBox1.Text
    shikai.fname = TextBox2.Text
    shikai.mi = TextBox3.Text
    shikai.lname = TextBox4.Text

    shikai.ad = TextBox5.Text
    shikai.contact = TextBox9.Text

    shikai.year = ComboBox1.SelectedText
    shikai.section = ComboBox2.SelectedText
    shikai.gender = ComboBox3.SelectedText
    shikai.religion = ComboBox4.SelectedText

    shikai.year = ComboBox1.SelectedItem
    shikai.section = ComboBox2.SelectedItem
    shikai.gender = ComboBox3.SelectedItem
    shikai.religion = ComboBox4.SelectedItem


    shikai.bday = TextBox6.Text



    shikai.updates()
    MsgBox("Successfully updated!")

请帮助,解决此问题的简单解决方法是什么?

1 个答案:

答案 0 :(得分:1)

要记住的一些事情---

  1. 一个'selected____'什么东西只有非null,当有什么东西,呃,SELECTED。要确保即使在开始时选择了SOMETHING,也要添加如下行:ComboBox1.SelectedIndex = 0.

  2. 如果您的记录集具有非字符串类型(可能是DATE字段),那么请务必首先检查然后将作为TEXT返回的字符串强制转换为正确的类型。即....

  3. 如果isDate(ComboBox1.SelectedText)然后......'可以使用这个强制文本。

    1. 由于组合框(以及列表框)可以容纳整个CLASS(即任何类型的OBJECT)...任何SelectedItem赋值都最好与.Items.Add'ed最初为控件的类型完全匹配