IDataReader System.IndexOutOfRangeException on Class File Object

Hi,

I'm building a class file, and I am getting an System.IndexOutOfRangeException: when I get past the third property.  I have no idea why!

I've attached my business object


The error is raised on the line that reads: _DataTitle = reader["DataTitle"].ToString(); in the public Data999(IDataReader reader) section


using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
 
/// <summary>
/// Summary description for Data999
/// </summary>
/// 
 
public class Data999
{
    private string _DataTitle;
    public string DataTitle
    {
        get { return _DataTitle; }
        set { _DataTitle = value; }
    }
 
    private string _Forename;
    public string Forename
    {
        get { return _Forename; }
        set { _Forename = value; }
    }
 
    private string _Surname;
    public string Surname
    {
        get { return _Surname; }
        set { _Surname = value; }
    }
 
    private string _Honours;
    public string Honours
    {
        get { return _Honours; }
        set { _Honours = value; }
    }
 
    private string _BusinessPrefix;
    public string BusinessPrefix
    {
        get { return _BusinessPrefix; }
        set { _BusinessPrefix = value; }
    }
 
    private string _Premises;
    public string Premises
    {
        get { return _Premises; }
        set { _Premises = value; }
    }
 
    private string _Throughfare;
    public string Throughfare
    {
        get { return _Throughfare; }
        set { _Throughfare = value; }
    }
 
    private string _Locality;
    public string Locality
    {
        get { return _Locality; }
        set { _Locality = value; }
    }
 
    private string _Postcode;
    public string Postcode
    {
        get { return _Postcode; }
        set { _Postcode = value; }
    }
 
    private string _addedBy;
    public string addedBy
    {
        get { return _addedBy; }
        set { _addedBy = value; }
    }
 
    private string _TelephoneNumber;
    public string TelephoneNumber
    {
        get { return _TelephoneNumber; }
        set { _TelephoneNumber = value; }
    }
 
    private string _Deleted;
    public string Deleted
    {
        get { return _Deleted; }
        set { _Deleted = value; }
    }
 
 
 
	public Data999(IDataReader reader)
	{
        _addedBy = reader["addedBy"].ToString();
        _TelephoneNumber = reader["TelephoneNumber"].ToString();
        _Deleted = reader["Deleted"].ToString();
        _DataTitle = reader["DataTitle"].ToString();
        _Forename = reader["Forename"].ToString();
        _Surname = reader["Surname"].ToString();
        _Honours = reader["Honours"].ToString();
        _BusinessPrefix = reader["BusinessPrefix"].ToString();
        _Premises = reader["Premises"].ToString();
        _Throughfare = reader["Throughfare"].ToString();
        _Locality = reader["Locality"].ToString();
        _Postcode = reader["Postcode"].ToString();
 
	}
}
 
 
 
================
EXCEPTION DETAILS
================
 
Exception Details: System.IndexOutOfRangeException: DataTitle
 
Source File: c:\Inetpub\wwwroot\eff999\App_code\Data999.cs    Line: 109 
 
Source Error: 
 
 
Line 107:        _TelephoneNumber = reader["TelephoneNumber"].ToString();
Line 108:        _Deleted = reader["Deleted"].ToString();
Line 109:        _DataTitle = reader["DataTitle"].ToString();
Line 110:        _Forename = reader["Forename"].ToString();
Line 111:        _Surname = reader["Surname"].ToString();

Open in new window

LVL 1
Member_4438002Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

WerrockCommented:
Could you add the business object once more. I cannot see it.
0
Member_4438002Author Commented:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

/// <summary>
/// Summary description for Data999
/// </summary>
///

public class Data999
{
    private string _DataTitle;
    public string DataTitle
    {
        get { return _DataTitle; }
        set { _DataTitle = value; }
    }

    private string _Forename;
    public string Forename
    {
        get { return _Forename; }
        set { _Forename = value; }
    }

    private string _Surname;
    public string Surname
    {
        get { return _Surname; }
        set { _Surname = value; }
    }

    private string _Honours;
    public string Honours
    {
        get { return _Honours; }
        set { _Honours = value; }
    }

    private string _BusinessPrefix;
    public string BusinessPrefix
    {
        get { return _BusinessPrefix; }
        set { _BusinessPrefix = value; }
    }

    private string _Premises;
    public string Premises
    {
        get { return _Premises; }
        set { _Premises = value; }
    }

    private string _Throughfare;
    public string Throughfare
    {
        get { return _Throughfare; }
        set { _Throughfare = value; }
    }

    private string _Locality;
    public string Locality
    {
        get { return _Locality; }
        set { _Locality = value; }
    }

    private string _Postcode;
    public string Postcode
    {
        get { return _Postcode; }
        set { _Postcode = value; }
    }

    private string _addedBy;
    public string addedBy
    {
        get { return _addedBy; }
        set { _addedBy = value; }
    }

    private string _TelephoneNumber;
    public string TelephoneNumber
    {
        get { return _TelephoneNumber; }
        set { _TelephoneNumber = value; }
    }

    private string _Deleted;
    public string Deleted
    {
        get { return _Deleted; }
        set { _Deleted = value; }
    }



      public Data999(IDataReader reader)
      {
        _addedBy = reader["addedBy"].ToString();
        _TelephoneNumber = reader["TelephoneNumber"].ToString();
        _Deleted = reader["Deleted"].ToString();
        _DataTitle = reader["DataTitle"].ToString();
        _Forename = reader["Forename"].ToString();
        _Surname = reader["Surname"].ToString();
        _Honours = reader["Honours"].ToString();
        _BusinessPrefix = reader["BusinessPrefix"].ToString();
        _Premises = reader["Premises"].ToString();
        _Throughfare = reader["Throughfare"].ToString();
        _Locality = reader["Locality"].ToString();
        _Postcode = reader["Postcode"].ToString();

      }
}
0
WerrockCommented:
Yeah, its probably since the column does not exists. This has been addressed before at:
http://www.experts-exchange.com/Programming/Languages/.NET/ASP.NET/Q_23257624.html

So please confirm that the column exists and try to check it before calling or handle exceptions by catching them in the constructor.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
C#

From novice to tech pro — start learning today.