DataBinding: 'System.Data.DataRowView' does not contain a property with the name 'ProductID'

38,596

Solution 1

You are missing a comma in your query after ProductID. As written, it is understanding ProductName to be the returned column name alias for ProductID, and not a separate column as you most likely intended.

Your query as written is equivalent to:

Select ProductID AS ProductName, SubCategory2ID, ...

Solution 2

You're missing a comma in your query:

cmd.CommandText = "Select ProductID, ProductName, ...

Without the comma, the query selects the ProductID column using the alias ProductName.

Share:
38,596
VJain
Author by

VJain

I am a computer science student and i just love programming.

Updated on January 02, 2020

Comments

  • VJain
    VJain over 4 years

    Friends i have properly bind the dropdown with dataset but it is giving this error: my codes are:

    To Bind-Data Set

     DataSet ds = new ViewAction().GetAllProductInfoData();
                ddlprdctname.DataSource = ds;
                ddlprdctname.DataTextField = "ProductName";
                ddlprdctname.DataValueField ="ProductID";
                ddlprdctname.DataBind();
    

    and GetAllProductInfoData() function is

     public DataSet GetAllProductInfoData()
            {
                SqlCommand cmd = DataConnection.GetConnection().CreateCommand();
                cmd.CommandText = "Select ProductID ProductName,SubCategory2ID,CompanyID,Price,Quantity,Description from ProductInfo";
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataSet ds = new DataSet();
                da.Fill(ds);
                cmd.Dispose();
                DataConnection.CloseConnection();
                return ds;
            }
    

    What is the error please hellp me to solve