我的datagrid点击“更新“为什么不变?程序如下:
Private Sub dgdns_UpdateCommand(..............)
t0 = CType(e.Item.Cells(1).Controls(0), TextBox)
Dim id As Integer = CInt(t0.Text)
Dim t1 As TextBox
t1 = CType(e.Item.Cells(3).Controls(0), TextBox)
Dim t2 As TextBox
t2 = CType(e.Item.Cells(4).Controls(0), TextBox)
Dim t3 As TextBox
t3 = CType(e.Item.Cells(5).Controls(0), TextBox)
Dim t4 As TextBox
t4 = CType(e.Item.Cells(6).Controls(0), TextBox)
Dim sql As String = "update dns set content='" & t1.Text & "',dnsst='" & CDate(t2.Text) & "',dnset='" & CDate(t3.Text) & "',dnsmemo='" & fu.htmlencode(t4.Text) & "' where dnsid='" & id & "'"
Dim mycom As New SqlCommand(sql, myconn.conn)
mycom.ExecuteNonQuery()
dgdns.EditItemIndex = -1
dnsbind()还有数据库中的时间为2005-1-1为什么绑定到datagrid变成2005-1-1 00:00:00怎么解决这个问题?
谢谢!
Private Sub dgdns_UpdateCommand(..............)
t0 = CType(e.Item.Cells(1).Controls(0), TextBox)
Dim id As Integer = CInt(t0.Text)
Dim t1 As TextBox
t1 = CType(e.Item.Cells(3).Controls(0), TextBox)
Dim t2 As TextBox
t2 = CType(e.Item.Cells(4).Controls(0), TextBox)
Dim t3 As TextBox
t3 = CType(e.Item.Cells(5).Controls(0), TextBox)
Dim t4 As TextBox
t4 = CType(e.Item.Cells(6).Controls(0), TextBox)
Dim sql As String = "update dns set content='" & t1.Text & "',dnsst='" & CDate(t2.Text) & "',dnset='" & CDate(t3.Text) & "',dnsmemo='" & fu.htmlencode(t4.Text) & "' where dnsid='" & id & "'"
Dim mycom As New SqlCommand(sql, myconn.conn)
mycom.ExecuteNonQuery()
dgdns.EditItemIndex = -1
dnsbind()还有数据库中的时间为2005-1-1为什么绑定到datagrid变成2005-1-1 00:00:00怎么解决这个问题?
谢谢!
没时间详细看楼主的代码,如果UPDATE语句没问题就是,就是初学者容易范的错误了,
提示一下可能的问题出现在哪里:楼主的DataGrid绑定是不是在Page_Load事件里?
若是,加上if(!Page.IsPostBack)判断再绑定,再试试
因为aspx页面的生存周期过程是先处理Page_Load事件,再处理其他的回送事件比如button 的 Click如果没有if(!Page.IsPostBack)判断,这样绑定先于更新(因为Page_Load先于buttonId_Click),数据库原来的值又覆盖了客户端填充的值,所以即使更新了,也只是将数据库原来的值重新UPDATE一次