数据删除时可以直接用SQL语句,不一定非用存储过程。你的存储过程相怎么调,如果是传参数SqlDbType.Integer

解决方案 »

  1.   

    1.对应DataGrid的事件,这是需要的。
    当你删除的时候需要触发这个事件MyDataGrid_DeleteCommand() 这里的事件是由
    commandname来指向
    2.这个不一定,存储过程和SQL语句都可以实现同样的功能。
    3.MyCommand.Parameters.Add(New OleDbParameter("@ID",OleDbType.Int, 4))
    4.可以直接用
      

  2.   

    那为什么我这样写会出错呢?至少一个参数没有被指定值。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: 至少一个参数没有被指定值。
    原代码: 
    Private Sub Deletes(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
        Dim MyCommand As OleDbCommand
        Dim id
        Dim DelCommand As String
          id=MyDataGrid.DataKeys(CInt(E.Item.ItemIndex))
          DelCommand="Delete From usertable Where userduty="&id
          MyCommand=New OleDbCommand(DelCommand,conn)
          conn.open()
          MyCommand.ExecuteNonQuery()
          conn.close()
          BindGrid()
    End Sub
      

  3.   

    Access下的删除语句好像是>>>"Delete * From usertable Where userduty="&id
      

  4.   

    to  yirenboy(一人) 
    你的回答下面这句好像有错吧
    3.MyCommand.Parameters.Add(New OleDbParameter("@ID",OleDbType.Int, 4))OleDbType.Int不是自动编号吧
      

  5.   

    请问MyCommand.Parameters.Add(New OleDbParameter("@ID","自动编号是怎么写的啊")自动编号怎么表达啊各位大哥,帮我查一下吧
      

  6.   

    datagrid有没有指定DataKeyField属性啊?