'用来更新数据
Sub DataGrid_UpdateCommand(sender As Object, e As DataGridCommandEventArgs)
Dim newReceivt As String = CType(e.Item.Cells(1).Controls(0), TextBox).Text
Dim newSendtarget As String = CType(e.Item.Cells(2).Controls(0), TextBox).Text
Dim newSenddate As String = CType(e.Item.Cells(3).Controls(0), TextBox).Text
Dim newValiditydate As String = CType(e.Item.Cells(4).Controls(0), TextBox).Text
Dim newClassificationt As String = CType(e.Item.Cells(5).Controls(0), TextBox).Text
Dim newyesno As String = CType(e.Item.Cells(6).Controls(0), TextBox).Text
Dim strSQL As String
strSQL = "Update data Set yesno='" & newyesno & "' Where " & myDataGrid.DataKeyField & "='" & _
myDataGrid.DataKeys(e.Item.ItemIndex) & "'" Dim objConn As New OleDbConnection()
objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("data.mdb")
objConn.Open()
Dim objCmd As New OleDbCommand(strSQL, objConn)
objCmd.ExecuteNonQuery
myDataGrid.EditItemIndex = -1
BindList() End Sub
Sub DataGrid_UpdateCommand(sender As Object, e As DataGridCommandEventArgs)
Dim newReceivt As String = CType(e.Item.Cells(1).Controls(0), TextBox).Text
Dim newSendtarget As String = CType(e.Item.Cells(2).Controls(0), TextBox).Text
Dim newSenddate As String = CType(e.Item.Cells(3).Controls(0), TextBox).Text
Dim newValiditydate As String = CType(e.Item.Cells(4).Controls(0), TextBox).Text
Dim newClassificationt As String = CType(e.Item.Cells(5).Controls(0), TextBox).Text
Dim newyesno As String = CType(e.Item.Cells(6).Controls(0), TextBox).Text
Dim strSQL As String
strSQL = "Update data Set yesno='" & newyesno & "' Where " & myDataGrid.DataKeyField & "='" & _
myDataGrid.DataKeys(e.Item.ItemIndex) & "'" Dim objConn As New OleDbConnection()
objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("data.mdb")
objConn.Open()
Dim objCmd As New OleDbCommand(strSQL, objConn)
objCmd.ExecuteNonQuery
myDataGrid.EditItemIndex = -1
BindList() End Sub
--------------------------------------------------------------------------------UPDATE 语句的语法错误。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: UPDATE 语句的语法错误。源错误:
行 44: objConn.Open()
行 45: Dim objCmd As New OleDbCommand(strSQL, objConn)
行 46: objCmd.ExecuteNonQuery
行 47: myDataGrid.EditItemIndex = -1
行 48: BindList()
Dim updatecomm As New SqlCommand("update lanmus Set Lanmu=@lanmu where ID=" + e.Item.Cells(0).Text, conn)
updatecomm.Parameters.Add("@lanmu", CType(e.Item.FindControl("LanmuTitle"), TextBox).Text.Trim.ToString())
Try
conn.Open()
updatecomm.ExecuteNonQuery()
Catch ex As Exception
Throw ex
Finally
conn.Close()
End Try
DataGrid1.EditItemIndex = -1
ShowLanmu()
End Sub我写的,不知对你有没有帮助.
這個方法裏面怎麽沒傳參數進去啊
myDataGrid.DataKeys(e.Item.ItemIndex) & "'"---------------------------------------------------strSQL = "Update data Set yesno='" & newyesno & "' Where xxid=" & myDataGrid.DataKeys(e.Item.ItemIndex);"
有可能哪边是空值了
对象里的"查询">>设计>>然后在菜单的"视图">>SQL视图>>>
将你的SQL Copy到"选择查询"框,点击 运行!符号就可以运行你的SQL了
Dim newReceivt As String = CType(e.Item.Cells(1).Controls(0), TextBox).Text
Dim newSendtarget As String = CType(e.Item.Cells(2).Controls(0), TextBox).Text
Dim newSenddate As String = CType(e.Item.Cells(3).Controls(0), TextBox).Text
Dim newValiditydate As String = CType(e.Item.Cells(4).Controls(0), TextBox).Text
Dim newClassificationt As String = CType(e.Item.Cells(5).Controls(0), TextBox).Text
Dim newyesno As String = CType(e.Item.Cells(6).Controls(0), TextBox).Text'在这儿,你可以用Response.write输出newReceivt如Response.write(newreceivt)看有没有得到值..其它几个string也是一样...
'或者你可以用FindControl来得到TextBox的值.
Dim updatecomm As New SqlCommand("Update data Set yesno=@yesno where ID=" + e.Item.Cells(0).Text, conn)
updatecomm.Parameters.Add("@yesno", CType(e.Item.FindControl("yesno"), TextBox).Text.Trim.ToString())
'其它类同
Try
conn.Open()
updatecomm.ExecuteNonQuery()
Catch ex As Exception
Throw ex
Finally
conn.Close()
End Try
DataGrid1.EditItemIndex = -1
BindList()'重新绑定你的数据
End Sub
Dim newReceivt As String = CType(e.Item.Cells(1).Controls(0), TextBox).Text
Dim newSendtarget As String = CType(e.Item.Cells(2).Controls(0), TextBox).Text
Dim newSenddate As String = CType(e.Item.Cells(3).Controls(0), TextBox).Text
Dim newValiditydate As String = CType(e.Item.Cells(4).Controls(0), TextBox).Text
Dim newClassificationt As String = CType(e.Item.Cells(5).Controls(0), TextBox).Text
Dim newyesno As String = CType(e.Item.Cells(6).Controls(0), TextBox).Text
Response.write(newreceivt)
Response.write(newSendtarget)
Response.write(newSenddate)
Response.write(newValiditydate)
Response.write(newyesno)都能看到数据呀输出的数据都是正确的呀就是 update 语句不知道该怎么写了
Dim updatecomm As New SqlCommand("Update data Set yesno='123456' where ID='2'", conn)
conn.Open()
updatecomm.ExecuteNonQuery()
写Command试一下,看能能更新(打开数据库刷新一下数据看有没有Update).
Dim objConn As New OleDbConnection()
objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("data.mdb")
objConn.Open()
Dim objCmd As New OleDbCommand("Update data Set yesno='否' where number='0001474'",objConn)
objCmd.ExecuteNonQuery
myDataGrid.EditItemIndex = -1
BindList() 然后还是
“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------UPDATE 语句的语法错误。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: UPDATE 语句的语法错误。源错误:
行 42: objConn.Open()
行 43: Dim objCmd As New OleDbCommand("Update data Set yesno='否' where number='0001474'",objConn)
行 44: objCmd.ExecuteNonQuery
行 45: myDataGrid.EditItemIndex = -1
行 46: BindList()
源文件: E:\www\jiangyuan\show1.aspx 行: 44
在Access中能执行吗?
把''去掉.
SQL查询分析器中单独运新这条语句,看问题出在什么地方.'用来更新数据
Sub DataGrid_UpdateCommand(sender As Object, e As DataGridCommandEventArgs)
Dim newReceivt As String = CType(e.Item.Cells(1).Controls(0), TextBox).Text
Dim newSendtarget As String = CType(e.Item.Cells(2).Controls(0), TextBox).Text
Dim newSenddate As String = CType(e.Item.Cells(3).Controls(0), TextBox).Text
Dim newValiditydate As String = CType(e.Item.Cells(4).Controls(0), TextBox).Text
Dim newClassificationt As String = CType(e.Item.Cells(5).Controls(0), TextBox).Text
Dim newyesno As String = CType(e.Item.Cells(6).Controls(0), TextBox).Text
Dim strSQL As String
strSQL = "Update data Set yesno='" & newyesno & "' Where " & myDataGrid.DataKeyField & "='" & _
myDataGrid.DataKeys(e.Item.ItemIndex) & "'"
Response.Write ("strSQL is:" & strSQL)
Response.End()
Dim objConn As New OleDbConnection()
objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("data.mdb")
objConn.Open()
Dim objCmd As New OleDbCommand(strSQL, objConn)
objCmd.ExecuteNonQuery
myDataGrid.EditItemIndex = -1
BindList() End Sub
根据 sykpboy(小憩(吃心绝对)) ( ) 提供的程序
执行出来strSQL is:Update data Set Yesno='否' Where number='0001474'我认为这个 update语句是正确的呀可是怎么系统还是提示出错昵?
经过 renyu732(在学.net中...) 的帮助
我终于搞定了原来 access 里把 yesno 做成保留字了