如何以新的形式获取所选行的数据,用户可以编辑它?

时间:2016-09-08 11:40:08

标签: sql-server vb.net datagrid

我的表单包含我想要的数据网格, 当用户选择数据网格的任何行并单击“编辑”按钮时 datagrid的数据将以新的形式打开,用户可以编辑并保存。

抱歉,但我没有得到逻辑,因为我是入门级程序员。

如何在我的EDIT DATA'上编写代码?按键 我在datagrid中的主要表单上有9个字段。

我正在使用sql server 2010 and vb2008

1 个答案:

答案 0 :(得分:1)

你真的只能谷歌搜索" SQL SELECT和UPDATE"然而,查询:

要选择它,您需要使用查询来选择与该唯一ID相关联的所有信息(您应该拥有哪些信息?)。

然后,将其加载到DataTable。每个控件都将使用相关的DataTable数据为其分配值。

然后,当您按“保存/更新”进行更新时,将运行更新查询。

示例SELECT查询

Dim Dt As New DataTable

    Using Da = New OleDbDataAdapter("SELECT * FROM Your_Table WHERE uniqueID=?", connectionstring)
        Da.SelectCommand.Parameters.Add("@ID", OleDbType.Integer).Value = IDvariable
        Da.Fill(Dt)
    End Using

然后您需要使用DataAdapter填写表单控件,例如:

txtFirstName.Text = Dt.Rows(0).Item("firstName")

然后是UPDATE查询

 Try
        Dim Dc As New OleDbCommand
        Dc.Connection = connectionstring
        Dc = New OleDb.OleDbCommand("UPDATE Your_Table SET column_1 = ?, column2 = ? WHERE uniqueID=?", connectionstring)
        Dc.Parameters.Add("@column1", OleDbType.DataType).Value = control1.Text
        Dc.Parameters.Add("@column2", OleDbType.DataType).Value = control2.Text

        Dc.Parameters.Add("@uniqueID", OleDbType.Integer).Value = uniqueID

        Dc.ExecuteNonQuery()

        MsgBox("Edit Successful")

    Catch ex As Exception
        MsgBox("Failed to update data, refer to error log")

    End Try