hii i am having a strange problem in mysql insert using dataadapter and datatable.... i am not able to figure it out what is the actual problem .. here is the code snippet :
public void BulkCopyCTC(List<EmployeeDet> list) { DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("employee_id",typeof( System.String))); dt.Columns.Add(new DataColumn("employee_name", typeof(System.String))); dt.Columns.Add(new DataColumn("emp_ctc",typeof( System.Decimal))); foreach (EmployeeDet item in list) { DataRow dr = dt.NewRow(); dr["employee_id"] = item.GetID(); dr["employee_name"] = item.GetName(); dr["emp_ctc"] = item.GetCTC(); dt.Rows.Add(dr); } MySqlConnection con = new MySqlConnection(new ConnectionUtils().GetConnectionString()); if (con.State == ConnectionState.Open) { con.Close(); } con.Open(); MySqlCommand cmd = new MySqlCommand("SP_InsertCTC", con); cmd.CommandType = CommandType.StoredProcedure; cmd.UpdatedRowSource = UpdateRowSource.None; cmd.Parameters.Add("?e_id", MySqlDbType.String).SourceColumn= "employee_id"; cmd.Parameters.Add("?e_name", MySqlDbType.String).SourceColumn= "employee_name"; cmd.Parameters.Add("?emp_ctc", MySqlDbType.Decimal).SourceColumn= "emp_ctc"; MySqlDataAdapter da = new MySqlDataAdapter(); da.InsertCommand = cmd; da.UpdateBatchSize = 100; int records = da.Update(dt); Response.Write("<script>alert('inserted " + records +" Rows')</script>"); con.Close(); } }
the problem is the decimal field is getting inserted totally fine.. but in case of employee id and employee name no values are getting inserted ... not able to figure it out why .. can someone help me....
the code for the table is :
CREATE TABLE `employee_ctc` ( `emp_id` VARCHAR(20) NULL DEFAULT NULL, `emp_name` VARCHAR(50) NULL DEFAULT NULL, `CTC` DECIMAL(10,2) NULL DEFAULT NULL )
please help out to figure why the emp_id and emp_name arent getting inserted properly :(
Thanks & Regards
Joy