c# .net

Input string was not in a correct format.Couldn't store string in Column. Expected type is Int32

Input string was not in a correct format.Couldn't store string in Column. Expected type is Int32, someone asked me to explain?

When I tried to Add rows to the dynamically generated DataTable though loop I got the following error. The DataTable contains two columns with DataType property as string.

models db = new models();

    string connstring = db.Database.Connection.ConnectionString;

    List<object> chartData = new List<object>();

 

    DataTable MyDataTable = new DataTable();

    DataColumn dc = MyDataTable.Columns.Add("ShipCity", typeof(string));

    MyDataTable.Columns.Add("OrderDate", typeof(string));

    dc.AutoIncrement = true;

   

    var query = (from order in db.Orders

                                   select new

                                   {

                                       order.ShipCity,

                                       order.OrderDate.Value.Year

                                   }).Distinct().ToList();

    foreach (var element in query)

    {

        var row = MyDataTable.NewRow();

        row["ShipCity"] = element.ShipCity;

        row["OrderDate"] = element.Year;

        MyDataTable.Rows.Add(row);

    }

Problem:

Input string was not in a correct format.Couldn't store string in Column

Solution:

 

Lately I noticed the problem because of incrementing the data column. I removed the following code "dc.AutoIncrement = true" from the line the problem was resolved.

Post your comments / questions