急电!!!!!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()
...全文
131 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
沉默味道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
  • 打赏
  • 举报
回复
最后没有得到更新的效果
加载更多回复(5)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧