高手求救
每次点更新后gridview现实还是更新前的数据
Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Load
If IsPostBack = True Then
bind() //绑定
End If
End Sub
更新 Protected Sub gv_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles gv.RowUpdating
Dim s As String = "Data Source=.;Initial Catalog=teacher;Integrated Security=True"
Dim i As String = CType((gv.Rows(e.RowIndex).Cells(1).Controls(0)), TextBox).Text.ToString.Trim
Dim s1 As String = CType((gv.Rows(e.RowIndex).Cells(2).Controls(0)), TextBox).Text.ToString.Trim
Dim s2 As String = CType((gv.Rows(e.RowIndex).Cells(3).Controls(0)), TextBox).Text.ToString.Trim
Dim s3 As String = "update AA set name='" + s1 + "',password='" + s2 + "' where id='" + i + "'"
Dim sql As New SqlConnection(s)
Dim sqlcom As New SqlCommand(s3, sql)
sql.Open()
Session("ss") = s1// 为什么s1显示出来是更新前的数据 不是更新后的数据
sqlcom.ExecuteNonQuery()
sql.Close()
gv.EditIndex = -1
bind()
End Sub
每次点更新后gridview现实还是更新前的数据
Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Load
If IsPostBack = True Then
bind() //绑定
End If
End Sub
更新 Protected Sub gv_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles gv.RowUpdating
Dim s As String = "Data Source=.;Initial Catalog=teacher;Integrated Security=True"
Dim i As String = CType((gv.Rows(e.RowIndex).Cells(1).Controls(0)), TextBox).Text.ToString.Trim
Dim s1 As String = CType((gv.Rows(e.RowIndex).Cells(2).Controls(0)), TextBox).Text.ToString.Trim
Dim s2 As String = CType((gv.Rows(e.RowIndex).Cells(3).Controls(0)), TextBox).Text.ToString.Trim
Dim s3 As String = "update AA set name='" + s1 + "',password='" + s2 + "' where id='" + i + "'"
Dim sql As New SqlConnection(s)
Dim sqlcom As New SqlCommand(s3, sql)
sql.Open()
Session("ss") = s1// 为什么s1显示出来是更新前的数据 不是更新后的数据
sqlcom.ExecuteNonQuery()
sql.Close()
gv.EditIndex = -1
bind()
End Sub
放在
sqlcom.ExecuteNonQuery()
后面。试一下应该可以了
Dim s1 As String = CType((gv.Rows(e.RowIndex).Cells(2).Controls(0)), TextBox).Text.ToString.Trim
Dim s3 As String = "update AA set name='" + s1 + "',password='" + s2 + "' where id='" + i + "'"
Session("ss") = s1// 为什么s1显示出来是更新前的数据 不是更新后的数据
//没有给S1重新赋值啊
bind()
End If
s3 更新语句是否正确,数据是否更新
把s3拿去数据库运行一下..
看看能运行你想要的结果不
也许你刷新一下gv,或者页面就可以了..
Dim s As String = "Data Source=.;Initial Catalog=teacher;Integrated Security=True"
Dim a As String = "select * from AA"
Dim sql As New SqlConnection(s)
sql.Open()
Dim scmd As New SqlDataAdapter(a, sql)
Dim ad As SqlCommandBuilder = New SqlCommandBuilder(scmd)
Dim ds As Data.DataSet = New Data.DataSet()
scmd.Fill(ds) gv.DataSource = ds.Tables(0)
gv.DataBind() sql.Close() End Sub
我应该这样说,如何取点击gridview上的编辑按钮后的编辑状态下的新值!!!!!!!!!!!
但是如何取点击gridview上的编辑按钮后的编辑状态下的新值!!!!!!!!!!!
我一直去出来!!!
不知道错在哪里?
adpt = New SqlClient.SqlDataAdapter(strSQL, cnn)
adpt.Fill(rst)
gv.DataSource = ds.Tables(0)
gv.DataBind()
看你的代码没有给S1重新赋值..
再说你的需求是更新后查看GV
所以
不用取s1的新值..
更新后直接重新绑定GV..
bind() //绑定
End If
应该等于false把
如果大于1就绑定数据。否则没更新成功
参考