如何使用vb编辑和更新datagridview中的记录? [英] how can I edit and update record in datagridview using vb?

查看:71
本文介绍了如何使用vb编辑和更新datagridview中的记录?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两张桌子的gridview显示栏

我需要编辑& gridview中显示的更新记录

我写了这段代码但是它没有用

受保护的子GridView2_RowEditing(ByVal sender As Object,ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs)处理GridView2.RowEditing 
GridView2.EditIndex = e.NewEditIndex
GridView2.DataBind()
End Sub



更新



受保护的子GridView2_RowUpdating(ByVal sender As Object,ByVal e As System.Web.UI。 WebControls.GridViewUpdateEventArgs)处理GridView2.RowUpdating 
'Dim connString As String = ConfigurationManager.ConnectionStrings(Conn)。ConnectionString
Dim row As GridViewRow = DirectCast(GridView2.Rows(e.RowIndex),GridViewRow)
Dim lblupdate As Label = DirectCast(row.FindControl(Label2),Label)


Dim id As String = DirectCast(GridView1.Rows(e.RowIndex)。 FindControl(lblid),Label).Text

Dim stname As String = DirectCast(GridView1.Rows(e.RowIndex).FindControl(txtstname),TextBox).Text
Dim dob As String = DirectCast(GridView1.Rows(e.RowIndex)_
.FindControl(txtdob),TextBox).Text

Dim nationality As String = DirectCast(GridView1.Rows(e.RowIndex).FindControl(txtnationality),TextBox).Text
Dim gender As String = DirectCast(GridView1.Rows(e.RowIndex).FindControl(txtgender),TextBox).Text
Dim level As String = DirectCast(GridView1.Rows(e.RowIndex).FindControl (txtlevel),TextBox).Text
Dim sect As String = DirectCast(GridView1.Rows(e.RowIndex).FindControl(txtsect),TextBox).Text
Dim newst As String = DirectCast(GridView1.Rows(e.RowIndex).FindControl(txtnewst),TextBox).Text


Dim con As New SqlConnection(strConnString)
Dim cmd As New SqlCommand()
cmd.CommandType = CommandType.Text
cm d.CommandText =更新stinfo set stname = @ stname,_
& dob = @ dob,nationality = @ nationality,gender = @ gender,level = @ level,sect = @ sect,newst = @newst where id = @ id
cmd.Parameters.Add(@ id ,SqlDbType.NVarChar).Value = id
cmd.Parameters.Add(@ stname,SqlDbType.NVarChar).Value = stname
cmd.Parameters.Add(@ dob,SqlDbType.NChar ).Value = dob
cmd.Parameters.Add(@ nationality,SqlDbType.NChar).Value = nationality
cmd.Parameters.Add(@ gender,SqlDbType.NVarChar).Value =性别
cmd.Parameters.Add(@ level,SqlDbType.NVarChar).Value = level
cmd.Parameters.Add(@ sect,SqlDbType.NChar).Value = sect
cmd.Parameters.Add(@ newst,SqlDbType.NVarChar).Value = newst
cmd.ExecuteNonQuery()
GridView1.EditIndex = -1
'GridView1.DataSource = GetData( cmd)
GridView1.DataBind()
con.Close()

End Sub



其中出现错误来自?

解决方案

I have gridview display columns from 2 tables
I need to edit & update record displayed in gridview
I wrote this code but it didn't work

Protected Sub GridView2_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles GridView2.RowEditing
        GridView2.EditIndex = e.NewEditIndex
        GridView2.DataBind()
    End Sub


The updating

Protected Sub GridView2_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles GridView2.RowUpdating
        ' Dim connString As String = ConfigurationManager.ConnectionStrings("Conn").ConnectionString
        Dim row As GridViewRow = DirectCast(GridView2.Rows(e.RowIndex), GridViewRow)
        Dim lblupdate As Label = DirectCast(row.FindControl("Label2"), Label)


        Dim id As String = DirectCast(GridView1.Rows(e.RowIndex).FindControl("lblid"), Label).Text

        Dim stname As String = DirectCast(GridView1.Rows(e.RowIndex).FindControl("txtstname"), TextBox).Text
        Dim dob As String = DirectCast(GridView1.Rows(e.RowIndex) _
                                .FindControl("txtdob"), TextBox).Text

        Dim nationality As String = DirectCast(GridView1.Rows(e.RowIndex).FindControl("txtnationality"), TextBox).Text
        Dim gender As String = DirectCast(GridView1.Rows(e.RowIndex).FindControl("txtgender"), TextBox).Text
        Dim level As String = DirectCast(GridView1.Rows(e.RowIndex).FindControl("txtlevel"), TextBox).Text
        Dim sect As String = DirectCast(GridView1.Rows(e.RowIndex).FindControl("txtsect"), TextBox).Text
        Dim newst As String = DirectCast(GridView1.Rows(e.RowIndex).FindControl("txtnewst"), TextBox).Text


        Dim con As New SqlConnection(strConnString)
        Dim cmd As New SqlCommand()
        cmd.CommandType = CommandType.Text
        cmd.CommandText = "update stinfo set stname=@stname," _
       & "dob=@dob, nationality=@nationality, gender=@gender,level=@level,sect=@sect,newst=@newst where id=@id"
        cmd.Parameters.Add("@id", SqlDbType.NVarChar).Value = id
        cmd.Parameters.Add("@stname", SqlDbType.NVarChar).Value = stname
        cmd.Parameters.Add("@dob", SqlDbType.NChar).Value = dob
        cmd.Parameters.Add("@nationality", SqlDbType.NChar).Value = nationality
        cmd.Parameters.Add("@gender", SqlDbType.NVarChar).Value = gender
        cmd.Parameters.Add("@level", SqlDbType.NVarChar).Value = level
        cmd.Parameters.Add("@sect", SqlDbType.NChar).Value = sect
        cmd.Parameters.Add("@newst", SqlDbType.NVarChar).Value = newst
        cmd.ExecuteNonQuery()
        GridView1.EditIndex = -1
        'GridView1.DataSource = GetData(cmd)
        GridView1.DataBind()
        con.Close()
        
    End Sub


where is the error comes from?

解决方案

这篇关于如何使用vb编辑和更新datagridview中的记录?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆