VB.NET Combobox联动填充文本框后如何添加保存代码存入另一张表
保存功能实现方案
代码添加位置
你不需要修改现有loaddata、NAME_SelectedIndexChanged方法的代码,只需要新增BindingNavigator1保存按钮的点击事件处理方法即可,默认保存按钮的控件名为BindingNavigatorSaveItem,直接绑定该控件的Click事件写保存逻辑就行。
实现注意事项
- 现有代码里
dt.Rows(0).Item(" ADDRESS").ToString的字段名前多了空格,建议先修正为dt.Rows(0).Item("ADDRESS").ToString,避免取值异常 - 保存逻辑请用参数化查询,不要直接拼接SQL,避免注入风险和格式错误
- 假设你要存入的另一张表名为
TARGET_TABLE,对应姓名、性别、地址的字段分别为NAME、GENDER、ADDRESS,你可以根据实际表名、字段名自行替换
完整实现代码
' 绑定BindingNavigator保存按钮的点击事件 Private Sub BindingNavigatorSaveItem_Click(sender As Object, e As EventArgs) Handles BindingNavigatorSaveItem.Click ' 先做非空校验 If String.IsNullOrWhiteSpace(NAME.Text) OrElse String.IsNullOrWhiteSpace(GENDER.Text) OrElse String.IsNullOrWhiteSpace(ADDRESS.Text) Then MsgBox("请先选择学生信息,保证所有字段不为空") Return End If Try strcon.Open() ' 替换为你实际的插入/更新SQL,根据需求选择是新增还是修改已有数据 Dim sql As String = "INSERT INTO TARGET_TABLE(NAME, GENDER, ADDRESS) VALUES(@NAME, @GENDER, @ADDRESS)" Dim cmd As New OleDbCommand(sql, strcon) ' 加参数,避免SQL注入 cmd.Parameters.AddWithValue("@NAME", NAME.Text) cmd.Parameters.AddWithValue("@GENDER", GENDER.Text) cmd.Parameters.AddWithValue("@ADDRESS", ADDRESS.Text) ' 执行SQL cmd.ExecuteNonQuery() MsgBox("保存成功") Catch ex As Exception MsgBox("保存失败:" & ex.Message) Finally strcon.Close() End Try End Sub
如果你是要更新目标表的已有数据,把INSERT语句换成对应的UPDATE语句加过滤条件即可。
内容的提问来源于stack exchange,提问作者Newbie
相关产品推荐
相关产品推荐

