I have looked through this piece of my code but for some reason it still goes to the ORA-00936 error when trying to execute. Can anyone find where I am going wrong?
public void InsertActionItem(ActionItems actionItem)
{
OracleConnection con = iscConnection();
OracleCommand cmd = new OracleCommand("insert into cs_update_resolutions (task_id, cust_code, task_resolved, agent_entered) VALUES (@taskId, @custCode, @taskResolved, @getUser)", con);
cmd.Parameters.Add("@taskId", OracleDbType.Int32).Value = actionItem.InsertTaskId;
cmd.Parameters.Add("@custCode", OracleDbType.Int32).Value = actionItem.InsertCustCode;
cmd.Parameters.Add("@taskResolved", OracleDbType.Varchar2).Value = actionItem.InsertResolution;
cmd.Parameters.Add("@getUser", OracleDbType.Varchar2).Value = actionItem.InsertCurrentUser;
try
{
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
catch (Exception ex)
{
con.Close();
MessageBox.Show(ex.ToString());
}
}
Oracle uses :
for parameters, instead of @
:
insert into cs_update_resolutions
(task_id, cust_code, task_resolved, agent_entered)
VALUES (:taskId, :custCode, :taskResolved, :getUser)
So the full code would be:
OracleConnection con = iscConnection();
OracleCommand cmd = new OracleCommand("insert into cs_update_resolutions (task_id, cust_code, task_resolved, agent_entered) VALUES (:taskId, :custCode, :taskResolved, :getUser)", con);
cmd.Parameters.Add(":taskId", OracleDbType.Int32).Value = actionItem.InsertTaskId;
cmd.Parameters.Add(":custCode", OracleDbType.Int32).Value = actionItem.InsertCustCode;
cmd.Parameters.Add(":taskResolved", OracleDbType.Varchar2).Value = actionItem.InsertResolution;
cmd.Parameters.Add(":getUser", OracleDbType.Varchar2).Value = actionItem.InsertCurrentUser;
I don't think you need the colons when you're adding the parameters, just when you bind them in the insert statement.
public void InsertActionItem(ActionItems actionItem)
{
OracleConnection con = iscConnection();
OracleCommand cmd = new OracleCommand("insert into cs_update_resolutions (task_id, cust_code, task_resolved, agent_entered) VALUES (:taskId, :custCode, :taskResolved, :getUser)", con);
cmd.Parameters.Add("taskId", OracleDbType.Int32).Value = actionItem.InsertTaskId;
cmd.Parameters.Add("custCode", OracleDbType.Int32).Value = actionItem.InsertCustCode;
cmd.Parameters.Add("taskResolved", OracleDbType.Varchar2).Value = actionItem.InsertResolution;
cmd.Parameters.Add("getUser", OracleDbType.Varchar2).Value = actionItem.InsertCurrentUser;
try
{
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
catch (Exception ex)
{
con.Close();
MessageBox.Show(ex.ToString());
}
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.