看看这个更新错在哪里?
更新时,提时更新成功,但是数据库里没有改变!
.......
......
'----------------Update-----------
Sub MyDataGrid_Update(s as object,e as DataGridCommandEventArgs)
dim ds as dataset,updatesql as string
dim cmd as oledbcommand
dim conn as oledbconnection
dim i as integer,a as integer
conn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("test.mdb"))
updatesql="update a set name=@n,pass=@p,content=@c where id=@id"
cmd=new oledbcommand(updatesql,conn)
With cmd.Parameters
.add(new oledbparameter("@id",oledbtype.integer))
.Add(New OleDbParameter("@n", OleDbType.Char))
.Add(New OleDbParameter("@p", OleDbType.Char))
.Add(New OleDbParameter("@c", OleDbType.Char))
End With
cmd.Parameters("@id").Value = MyDataGrid.DataKeys(Int(E.Item.ItemIndex))
dim ai() as string={"@id","@n","@p","@c"}
for i=2 to e.Item.Cells.Count-1
cmd.parameters(ai(i-1)).Value=Ctype(e.Item.Cells(i).Controls(0), TextBox).Text
next
cmd.connection.open()
cmd.executenonquery()
cmd.Connection.Close()
message.InnerHtml="<b>已更新记录</b>"&e.Item.Cells.Count
cmd.Dispose()
conn.Close()
conn.Dispose()
BindGrid()
End Sub
'--------------------------
...
...
<asp:datagrid id="mydatagrid" runat="server"
width=500
font-size=12px
font-name=verdana
cellpadding=5
align=center
headerstyle-backcolor=#e8e8e8
AllowPaging="True"
AllowSorting="true"
PageSize="12"
PagerStyle-HorizontalAlign="Right"
AlternatingItemStyle-BackColor=#fbfbfb
OnPageIndexChanged="ChangePage"
PagerStyle-NextPageText="下一页"
PagerStyle-PrevPageText="上一页"
PagerStyle-Mode="NumericPages"
OnEditCommand="MyDataGridEdit"
OnCancelCommand="MyDataGrid_Cancel"
OnUpdateCommand="MyDataGrid_Update"
DataKeyField="id"
AutoGenerateColumns="false"
>
<Columns>
<asp:EditCommandColumn EditText="编辑" CancelText="取消" UpdateText="更新" ItemStyle-Wrap="false"/>
<asp:BoundColumn HeaderText="ID" SortExpression="id" ReadOnly="True" DataField="id" ItemStyle-Wrap="false"/>
<asp:boundcolumn headertext="用户名" sortexpression="name" datafield="name"/>
<asp:boundcolumn headertext="密码" sortexpression="pass" datafield="pass"/>
<asp:boundcolumn headertext="内容" sortexpression="content" datafield="content"/>
</Columns>
</asp:datagrid>