关于Datalist更新记录的问题,弄了一天,越弄越糊涂!
if e.CommandName="update" then
dim strid as string
strid=DataList1.DataKeys(e.Item.ItemIndex)
dim box as new textbox
box = e.Item.FindControl("TextBox1")
Dim objConn as New OleDBConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & server.mappath(".") & "/db1.mdb")
Dim objcomm as New OleDbcommand("update guestbook set reply='+box+' where id='+strid+'", objConn)
objconn.open()
objcomm.ExecuteNonQuery()
datalist1.EditItemIndex=-1
datalist1.databind()
objconn.close()
end if
我这么做完,点更新按钮后报错,,
异常详细信息: System.Data.OleDb.OleDbException: 标准表达式中数据类型不匹配。
源错误:
行 87: objcomm.ExecuteNonQuery() ‘错误在这句
还有为什么要在这里定义一个新的textbox呢?以前我用Datagrid做同样更新功能时,直接写textbox1.text 就可以了,但是在这里却提示textbox1未声明。
还有一个问题,,dim box as new textbox
box = e.Item.FindControl("TextBox1")
这个是什么意思呢?怎么理解它呢?