<script language="vb" runat="server"> dim objconn as oledbconnection dim objcmd as oledbdataadapter dim objds as dataset dim strsql as string
sub page_load(sender as object,e as eventargs) show1() end sub
sub del(s as object, e as datagridcommandeventargs) dim objmd as oledbcommand dim strno as string strno=grid1.datakeys.item(e.item.itemindex) strsql="delete * from members where userno='" & strno & "'" objconn=new oledbconnection(" Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("db1.mdb")) objmd=new oledbcommand(strsql,objconn) objmd.connection.open() try objmd.executenonquery() label1.text="<font color='red'>删除数据(" & strno & ")" & "成功</font>" catch exp as oledbexception label1.text="<font color='red'>删除数据(" & strno & ")" & "有误,请重试一次</font>" end try objmd.connection.close() show1() end sub
sub show1() strsql="select * from members" objconn=new oledbconnection("provider=microsoft.jet.oledb.4.0;data source=" & server.mappath("db1.mdb")) objcmd=new oledbdataadapter(strsql,objconn) objds=new dataset() objcmd.fill(objds,"members") grid1.datasource=objds.tables("members").defaultview grid1.databind() end sub
把objmd.executenonquery屏蔽掉,就执行CATCH前的语句
<% @ import namespace="system.data.oledb" %>
<html>
<head>
<title>DATAGRID删除</title>
</head>
<body>
<h3>删除数据</h3>
<form id="Form1" method="post" runat="server">
<asp:Label ID="label1" Runat="server" />
<hr>
<asp:DataGrid ID="grid1" Runat="server" HeaderStyle-BackColor="blue" HeaderStyle-ForeColor="yellow"
ItemStyle-BackColor="white" ItemStyle-ForeColor="black" Width="720" DataKeyField="userno" OnDeleteCommand="del">
<Columns>
<asp:ButtonColumn Text="删除" CommandName="delete" />
</Columns>
</asp:DataGrid>
</form>
<script language="vb" runat="server">
dim objconn as oledbconnection
dim objcmd as oledbdataadapter
dim objds as dataset
dim strsql as string
sub page_load(sender as object,e as eventargs)
show1()
end sub
sub del(s as object, e as datagridcommandeventargs)
dim objmd as oledbcommand
dim strno as string
strno=grid1.datakeys.item(e.item.itemindex)
strsql="delete * from members where userno='" & strno & "'"
objconn=new oledbconnection(" Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("db1.mdb"))
objmd=new oledbcommand(strsql,objconn)
objmd.connection.open()
try
objmd.executenonquery()
label1.text="<font color='red'>删除数据(" & strno & ")" & "成功</font>"
catch exp as oledbexception
label1.text="<font color='red'>删除数据(" & strno & ")" & "有误,请重试一次</font>"
end try
objmd.connection.close()
show1()
end sub
sub show1()
strsql="select * from members"
objconn=new oledbconnection("provider=microsoft.jet.oledb.4.0;data source=" & server.mappath("db1.mdb"))
objcmd=new oledbdataadapter(strsql,objconn)
objds=new dataset()
objcmd.fill(objds,"members")
grid1.datasource=objds.tables("members").defaultview
grid1.databind()
end sub
</script>
</body>
</html>
try
objmd.executenonquery()
label1.text="<font color='red'>删除数据(" & strno & ")" & "成功</font>"
catch
label1.text="<font color='red'>删除数据(" & strno & ")" & "有误,请重试一次</font>"
end try
我觉的应该是DATAGRID控件和SQL的绑定问题,因为我用文本和SQL绑定使用上面的语句是正确的.请各位帮忙看看怎么修改?
还有不用COMMAND,用别的像DATESET该怎样写呢?