急电!!!!!Dateview 的RowUpdating不能更新

pyz47z123 2009-12-07 11:31:18
Protected Sub gv_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles gv.RowUpdating

Dim i As String = CType((gv.Rows(e.RowIndex).Cells(1).Controls(0)), TextBox).Text.ToString.Trim

Dim s As String = "Data Source=.;Initial Catalog=teacher;Integrated Security=True"
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.Clear()
Session("ss") = s1//错误 “取出来的数值 是更新前的数据”

sqlcom.ExecuteNonQuery()

sql.Close()

gv.EditIndex = -1
bind()
...全文
113 点赞 收藏 25
写回复
25 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
沉默味道ron 2009-12-08
你的问题解决了吗?
回复
pyz47z123 2009-12-08
没有啊,都发了好几个帖饿了。只结了一个满意贴
回复
pyz47z123 2009-12-07
我一直在调试
回复
pyz47z123 2009-12-07
就是不行哦!!!!
回复
沉默味道ron 2009-12-07
那你调试一下。跟踪!
回复
沉默味道ron 2009-12-07
不可能吧,FindControl就是找控件的一个方法。
回复
pyz47z123 2009-12-07
if(!IsPostback)
{
我引用了,还是一样的效果
不过不太明白FindControl的意思
回复
沉默味道ron 2009-12-07
Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Load
if(!Ispostback)
{
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
gv.DataBind()

sql.Close()
}

End Sub
回复
沉默味道ron 2009-12-07
按照我给你的方法加上那个判断,就OK了。
回复
沉默味道ron 2009-12-07
你看看你Page_load事件对于DataGridView控件的绑定方法是不是放在
if(!IsPostback)
{
DataGridView控件的绑定方法
}里面了,如果没有这个判断,我估计就是这个造成的,你加上就可以了应该。
回复
pyz47z123 2009-12-07

Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Load
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
gv.DataBind()

sql.Close()

End Sub
回复
沉默味道ron 2009-12-07
出现这种可能的情况还有就是你点击更新按钮时,页面重新加载,可能会把你赋得值给清空掉。你把Page_load里的代码贴出来我给你看看。
回复
pyz47z123 2009-12-07
en 恩好的我试一试
回复
沉默味道ron 2009-12-07
gv.Rows(e.RowIndex).Cells(2).后面能点出FindControl方法吗,要是能就用这个方法,然后里面的参数是你的TextBox的ID,我这没有开发环境,不能帮你试试。你自己试试吧!
回复
pyz47z123 2009-12-07
我的意思是Dim s1 As String = CType((gv.Rows(e.RowIndex).Cells(2).Controls(0)), TextBox).Text.ToString.Trim 总是取的dateview 初始的值 没有取出更新之后的数值

回复
pyz47z123 2009-12-07
我的意思是Dim s1 As String = CType((gv.Rows(e.RowIndex).Cells(2).Controls(0)), TextBox).Text.ToString.Trim 总是取的dateview 初始的值 没有取出更新之前的数值
回复
pyz47z123 2009-12-07
en 恩我试一试
回复
沉默味道ron 2009-12-07
where前加一个空格!
回复
沉默味道ron 2009-12-07
调试,取一下s3的值,然后到数据库里去运行一下,应该就能知道错在哪里了。
回复
pyz47z123 2009-12-07
最后没有得到更新的效果
回复
加载更多回复
相关推荐
发帖
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2009-12-07 11:31
社区公告
暂无公告