如何使用vb编辑和更新datagridview中的记录? [英] how can I edit and update record in datagridview using vb?
本文介绍了如何使用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屋!
查看全文