输出错误原因,看看是什么类型的错误。估计是两种可能:数据库连接没做好或sql语句有问题;strno的值没正确得到。根据错误信息再进行相应的修改。

解决方案 »

  1.   

    没有错误信息.就是不执行删除,一点删除按钮就是显示catch后的语句
    把objmd.executenonquery屏蔽掉,就执行CATCH前的语句
      

  2.   

    以下是完整的代码<% @ import namespace="system.data" %>
    <% @ 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>
      

  3.   

    Catch 后面不要写任何语句试试
    try
        objmd.executenonquery()
        label1.text="<font color='red'>删除数据(" & strno & ")" & "成功</font>"
    catch
        label1.text="<font color='red'>删除数据(" & strno & ")" & "有误,请重试一次</font>"
    end try
      

  4.   

    都不好使
    我觉的应该是DATAGRID控件和SQL的绑定问题,因为我用文本和SQL绑定使用上面的语句是正确的.请各位帮忙看看怎么修改?
    还有不用COMMAND,用别的像DATESET该怎样写呢?