VJain
VJain

Reputation: 1059

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

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

Upvotes: 3

Views: 40118

Answers (3)

Hema Shetty
Hema Shetty

Reputation: 109

If you are working with gridview and got this error you can simply remove unneccessary data from of template.

 <asp:CheckBox runat="server"  />

as shown above remove this error.

Upvotes: 0

Richard Deeming
Richard Deeming

Reputation: 31208

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.

Upvotes: 3

lc.
lc.

Reputation: 116498

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, ...

Upvotes: 4

Related Questions