Specified argument was out of the range of valid values.Parameter

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Chapi

    Specified argument was out of the range of valid values.Parameter

    hi, i'm having problems with a datagrid paging.
    it's populates fine, but when i click the paging button appears this
    error:"Specifie d argument was out of the range of valid
    values.Paramete r name: index"

    I paste the code here in case someone can help me.

    Sub paginaNueva(ByV al sender As Object, ByVal e As
    System.Web.UI.W ebControls.Data GridPageChanged EventArgs)
    DataGrid1.Curre ntPageIndex = e.NewPageIndex
    binddata()
    End Sub

    Sub binddata()
    Dim myConnection As New
    System.Data.Sql Client.SqlConne ction("myconnec tion_string")
    Dim strSQL As String = "SELECT * FROM
    SISTEMAS_SIOPEL MEETING_FOTOS WHERE titulo LIKE '%'+'almuerzos' +'%'"
    Dim strSQL2 As String = "SELECT * FROM
    SISTEMAS_SIOPEL MEETING_FOTOS WHERE titulo LIKE
    '%'+'presentaci ones'+'%'"
    Dim strSQL3 As String = "SELECT * FROM
    SISTEMAS_SIOPEL MEETING_FOTOS WHERE titulo LIKE '%'+'hotel'+'%' "
    Dim strSQL4 As String = "SELECT * FROM
    SISTEMAS_SIOPEL MEETING_FOTOS WHERE titulo LIKE '%'+'estancia'+ '%'"
    Dim myCommand As New System.Data.Sql Client.SqlComma nd(strSQL,
    myConnection)
    Dim myCommand2 As New
    System.Data.Sql Client.SqlComma nd(strSQL2, myConnection)
    Dim myCommand3 As New
    System.Data.Sql Client.SqlComma nd(strSQL3, myConnection)
    Dim myCommand4 As New
    System.Data.Sql Client.SqlComma nd(strSQL4, myConnection)
    Dim myAdapter As New
    System.Data.Sql Client.SqlDataA dapter(myComman d)
    Dim myAdapter2 As New
    System.Data.Sql Client.SqlDataA dapter(myComman d2)
    Dim myAdapter3 As New
    System.Data.Sql Client.SqlDataA dapter(myComman d3)
    Dim myAdapter4 As New
    System.Data.Sql Client.SqlDataA dapter(myComman d4)
    Dim ds As New System.Data.Dat aSet()
    Dim ds2 As New System.Data.Dat aSet()
    Dim ds3 As New System.Data.Dat aSet()
    Dim ds4 As New System.Data.Dat aSet()
    myAdapter.Fill( ds)
    myAdapter2.Fill (ds2)
    myAdapter3.Fill (ds3)
    myAdapter4.Fill (ds4)
    DataGrid1.DataS ource = ds
    Datagrid2.DataS ource = ds2
    Datagrid3.DataS ource = ds3
    Datagrid4.DataS ource = ds4
    DataGrid1.DataB ind()
    Datagrid2.DataB ind()
    Datagrid3.DataB ind()
    Datagrid4.DataB ind()
    myConnection.Cl ose()
    End Sub

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As
    System.EventArg s) Handles Me.Load
    If Not Page.IsPostBack Then
    binddata()
    End If
    End Sub

    Thanks.
  • Jeff Winn

    #2
    Re: Specified argument was out of the range of valid values.Paramete r name: index

    This response doesn't have anything to do with what your question was about,
    but i feel that the issue must be addressed. I see below from your code
    example that you're starting to build build dynamic sql statements within
    your application.

    Before you continue any further, you should read this article on SQL
    injection:


    You should avoid using dynamic sql statements like you would avoid getting
    the black plague. Parameterized statements are a much better approach and
    much more secure than simply concatenating strings together. You're exposing
    your application to all sorts of problems doing what you're doing below. As
    for your problem, the error tells you what the problem is - and if you read
    the stack trace it will more than likely tell you the exact line that is
    causing the problem.

    That error means you're trying to use something that the application doesn't
    want. If the application expects a value from 0 to 2, and you pass in a 4
    that's the exception that will get thrown. Look at the stack trace or post
    more information about the error if you want a more definitive answer. The
    amount of information you've given us isn't enough to give you a specific
    answer to fix your problem.

    "Chapi" <dspinassi@gmai l.comwrote in message
    news:8ed5cc1b-421f-41ea-a7f1-7ea1ae60254b@34 g2000hsf.google groups.com...
    hi, i'm having problems with a datagrid paging.
    it's populates fine, but when i click the paging button appears this
    error:"Specifie d argument was out of the range of valid
    values.Paramete r name: index"
    >
    I paste the code here in case someone can help me.
    >
    Sub paginaNueva(ByV al sender As Object, ByVal e As
    System.Web.UI.W ebControls.Data GridPageChanged EventArgs)
    DataGrid1.Curre ntPageIndex = e.NewPageIndex
    binddata()
    End Sub
    >
    Sub binddata()
    Dim myConnection As New
    System.Data.Sql Client.SqlConne ction("myconnec tion_string")
    Dim strSQL As String = "SELECT * FROM
    SISTEMAS_SIOPEL MEETING_FOTOS WHERE titulo LIKE '%'+'almuerzos' +'%'"
    Dim strSQL2 As String = "SELECT * FROM
    SISTEMAS_SIOPEL MEETING_FOTOS WHERE titulo LIKE
    '%'+'presentaci ones'+'%'"
    Dim strSQL3 As String = "SELECT * FROM
    SISTEMAS_SIOPEL MEETING_FOTOS WHERE titulo LIKE '%'+'hotel'+'%' "
    Dim strSQL4 As String = "SELECT * FROM
    SISTEMAS_SIOPEL MEETING_FOTOS WHERE titulo LIKE '%'+'estancia'+ '%'"
    Dim myCommand As New System.Data.Sql Client.SqlComma nd(strSQL,
    myConnection)
    Dim myCommand2 As New
    System.Data.Sql Client.SqlComma nd(strSQL2, myConnection)
    Dim myCommand3 As New
    System.Data.Sql Client.SqlComma nd(strSQL3, myConnection)
    Dim myCommand4 As New
    System.Data.Sql Client.SqlComma nd(strSQL4, myConnection)
    Dim myAdapter As New
    System.Data.Sql Client.SqlDataA dapter(myComman d)
    Dim myAdapter2 As New
    System.Data.Sql Client.SqlDataA dapter(myComman d2)
    Dim myAdapter3 As New
    System.Data.Sql Client.SqlDataA dapter(myComman d3)
    Dim myAdapter4 As New
    System.Data.Sql Client.SqlDataA dapter(myComman d4)
    Dim ds As New System.Data.Dat aSet()
    Dim ds2 As New System.Data.Dat aSet()
    Dim ds3 As New System.Data.Dat aSet()
    Dim ds4 As New System.Data.Dat aSet()
    myAdapter.Fill( ds)
    myAdapter2.Fill (ds2)
    myAdapter3.Fill (ds3)
    myAdapter4.Fill (ds4)
    DataGrid1.DataS ource = ds
    Datagrid2.DataS ource = ds2
    Datagrid3.DataS ource = ds3
    Datagrid4.DataS ource = ds4
    DataGrid1.DataB ind()
    Datagrid2.DataB ind()
    Datagrid3.DataB ind()
    Datagrid4.DataB ind()
    myConnection.Cl ose()
    End Sub
    >
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As
    System.EventArg s) Handles Me.Load
    If Not Page.IsPostBack Then
    binddata()
    End If
    End Sub
    >
    Thanks.

    Comment

    • Chapi

      #3
      Re: Specified argument was out of the range of valid values.Paramete r

      On 26 mayo, 13:11, "Jeff Winn" <jw...@nospam.c omwrote:
      This response doesn't have anything to do with what your question was about,
      but i feel that the issue must be addressed. I see below from your code
      example that you're starting to build build dynamic sql statements within
      your application.
      >
      Before you continue any further, you should read this article on SQL
      injection:http://msdn.microsoft.com/en-us/library/ms161953.aspx
      >
      You should avoid using dynamic sql statements like you would avoid getting
      the black plague. Parameterized statements are a much better approach and
      much more secure than simply concatenating strings together. You're exposing
      your application to all sorts of problems doing what you're doing below. As
      for your problem, the error tells you what the problem is - and if you read
      the stack trace it will more than likely tell you the exact line that is
      causing the problem.
      >
      That error means you're trying to use something that the application doesn't
      want. If the application expects a value from 0 to 2, and you pass in a 4
      that's the exception that will get thrown. Look at the stack trace or post
      more information about the error if you want a more definitive answer. The
      amount of information you've given us isn't enough to give you a specific
      answer to fix your problem.
      >
      "Chapi" <dspina...@gmai l.comwrote in message
      >
      news:8ed5cc1b-421f-41ea-a7f1-7ea1ae60254b@34 g2000hsf.google groups.com...
      >
      hi, i'm having problems with a datagrid paging.
      it's populates fine, but when i click the paging button appears this
      error:"Specifie d argument was out of the range of valid
      values.Paramete r name: index"
      >
      I paste the code here in case someone can help me.
      >
      Sub paginaNueva(ByV al sender As Object, ByVal e As
      System.Web.UI.W ebControls.Data GridPageChanged EventArgs)
      DataGrid1.Curre ntPageIndex = e.NewPageIndex
      binddata()
      End Sub
      >
      Sub binddata()
      Dim myConnection As New
      System.Data.Sql Client.SqlConne ction("myconnec tion_string")
      Dim strSQL As String = "SELECT * FROM
      SISTEMAS_SIOPEL MEETING_FOTOS WHERE titulo LIKE '%'+'almuerzos' +'%'"
      Dim strSQL2 As String = "SELECT * FROM
      SISTEMAS_SIOPEL MEETING_FOTOS WHERE titulo LIKE
      '%'+'presentaci ones'+'%'"
      Dim strSQL3 As String = "SELECT * FROM
      SISTEMAS_SIOPEL MEETING_FOTOS WHERE titulo LIKE '%'+'hotel'+'%' "
      Dim strSQL4 As String = "SELECT * FROM
      SISTEMAS_SIOPEL MEETING_FOTOS WHERE titulo LIKE '%'+'estancia'+ '%'"
      Dim myCommand As New System.Data.Sql Client.SqlComma nd(strSQL,
      myConnection)
      Dim myCommand2 As New
      System.Data.Sql Client.SqlComma nd(strSQL2, myConnection)
      Dim myCommand3 As New
      System.Data.Sql Client.SqlComma nd(strSQL3, myConnection)
      Dim myCommand4 As New
      System.Data.Sql Client.SqlComma nd(strSQL4, myConnection)
      Dim myAdapter As New
      System.Data.Sql Client.SqlDataA dapter(myComman d)
      Dim myAdapter2 As New
      System.Data.Sql Client.SqlDataA dapter(myComman d2)
      Dim myAdapter3 As New
      System.Data.Sql Client.SqlDataA dapter(myComman d3)
      Dim myAdapter4 As New
      System.Data.Sql Client.SqlDataA dapter(myComman d4)
      Dim ds As New System.Data.Dat aSet()
      Dim ds2 As New System.Data.Dat aSet()
      Dim ds3 As New System.Data.Dat aSet()
      Dim ds4 As New System.Data.Dat aSet()
      myAdapter.Fill( ds)
      myAdapter2.Fill (ds2)
      myAdapter3.Fill (ds3)
      myAdapter4.Fill (ds4)
      DataGrid1.DataS ource = ds
      Datagrid2.DataS ource = ds2
      Datagrid3.DataS ource = ds3
      Datagrid4.DataS ource = ds4
      DataGrid1.DataB ind()
      Datagrid2.DataB ind()
      Datagrid3.DataB ind()
      Datagrid4.DataB ind()
      myConnection.Cl ose()
      End Sub
      >
      Protected Sub Page_Load(ByVal sender As Object, ByVal e As
      System.EventArg s) Handles Me.Load
      If Not Page.IsPostBack Then
      binddata()
      End If
      End Sub
      >
      Thanks.
      Hi Jeff!
      Thanks for the answer, you where totally right.

      Comment

      Working...