Reputation: 4721
I want to insert data into the table using Storedprocedure.
I have written code like below
OracleConnection ObjPriCon = new OracleConnection(System.Configuration.ConfigurationManager.ConnectionStrings["OracleConn"].ToString());
ObjPriCon.Open();
string spquery = "xxcus.pn_insert_grid_agreeement";
OracleCommand cmd = new OracleCommand(spquery, ObjPriCon);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("Mkey", OracleType.Number).Value = e.Record["Mkey"];
cmd.Parameters.Add("GrdType", OracleType.VarChar).Value = e.Record["grd_type"];
cmd.Parameters.Add("firstname", OracleType.VarChar).Value = e.Record["f_name"];
cmd.Parameters.Add("lastname", OracleType.VarChar).Value = e.Record["l_name"];
cmd.Parameters.Add("contactdet", OracleType.Number).Value = e.Record["cont_det"];
cmd.Parameters.Add("pancardDet", OracleType.VarChar).Value = e.Record["pancard_det"];
cmd.Parameters.Add("trantype", OracleType.VarChar).Value = "GDS";
cmd.Parameters.Add("createdby", OracleType.Number).Value = Request.QueryString["userid"].ToString();
cmd.Parameters.Add("creationdate", OracleType.DateTime).Value = DateTime.Now.ToString("dd/MM/yyyy");
cmd.Parameters.Add("lastUpdateDate", OracleType.DateTime).Value = DateTime.Now.ToString("dd/MM/yyyy");
cmd.Parameters.Add("lastUpdatedBy", OracleType.Number).Value = Request.QueryString["userid"].ToString();
cmd.Parameters.Add("deleteflag", OracleType.Char).Value = "N";
cmd.ExecuteNonQuery();
ObjPriCon.Close();
But at cmd.ExecuteNonQuery()
I am getting error as
Failed to convert parameter value from a String to a Decimal.
I don't understand where the error is
Also see my SP structure
CREATE OR REPLACE PROCEDURE XXCUS.pn_insert_grid_agreeement (
mkey NUMBER,
GrdType VARCHAR2,
firstname VARCHAR2,
lastname VARCHAR2,
contactdet NUMBER,
pancardDet VARCHAR2,
trantype VARCHAR2,
createdby NUMBER,
creationdate DATE,
lastUpdateDate DATE,
lastUpdatedBy NUMBER,
deleteflag CHAR
)
IS
BEGIN
INSERT INTO xxcus.xxacl_pn_grid_agreement
(MKEY, grd_type, f_name, l_name, cont_det, pancard_det, tran_type,
created_by, creation_date, last_update_date,
last_updated_by, delete_flag
)
VALUES (mkey, GrdType, firstname,lastname, contactdet,pancardDet, trantype,
createdby, creationdate, lastUpdateDate,
lastUpdatedBy, deleteflag
);
END;
Kindly suggest what is wrong here
UDPATE
Mkey
is auto incremented column.
Upvotes: 0
Views: 602
Reputation: 4833
Try replacing:
cmd.Parameters.Add("createdby", OracleType.Number).Value = Request.QueryString["userid"].ToString();
cmd.Parameters.Add("lastUpdatedBy", OracleType.Number).Value = Request.QueryString["userid"].ToString();
With:
cmd.Parameters.Add("lastUpdatedBy", OracleType.Number).Value = Convert.ToInt32(Request.QueryString["userid"]);
cmd.Parameters.Add("createdby", OracleType.Number).Value = Convert.ToInt32(Request.QueryString["userid"]);
Upvotes: 1