Quantcast
Channel: Oracle, MySQL, Sybase, Informix and other databases
Viewing all articles
Browse latest Browse all 1350

problem in mysql Bulk insert using datatable and mysqldataadapter

$
0
0

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 :

Only one row insert and then error givien

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SP_InsertCTC; SP_InsertCTC; SP_InsertCTC; SP_InsertCTC' at line 1

<div>

publicvoidBulkCopyCTC(List<EmployeeDet> list){DataTable dt =newDataTable();
        dt.Columns.Add(newDataColumn("employee_id",typeof(System.String)));
        dt.Columns.Add(newDataColumn("employee_name",typeof(System.String)));
        dt.Columns.Add(newDataColumn("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 =newMySqlConnection(newConnectionUtils().GetConnectionString());if(con.State==ConnectionState.Open){
            con.Close();}
        con.Open();MySqlCommand cmd =newMySqlCommand("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 =newMySqlDataAdapter();
        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....

Table

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)

Store Procedure

DELIMITER $$

CREATE DEFINER=`root`@`localhost` PROCEDURE `SP_InsertCTC`( e_id VARCHAR(20), e_name VARCHAR(50), emp_ctc DECIMAL(10,2))
BEGIN

INSERT INTO Employee_CTC(emp_id,emp_name,CTC) VALUES(e_id ,e_name,emp_ctc);
END $$

DELIMITER ;

 

</div>

Viewing all articles
Browse latest Browse all 1350

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>