Я хочу вставить таблицу оракула с процедурой, но я видел проблему ORA-01008, и я не знаю, как я могу решить эту проблему. Я видел эту проблему, когда запускается страница aspx. Решите эту проблему. Помогите мне
ПРОЦЕДУРА ВСТАВКИ:
PROCEDURE INSERTQUESTION(
p_name IN QUESTION.NAME%TYPE,
p_tag IN QUESTION.TAG%TYPE,
p_money IN QUESTION.MONEY%TYPE,
p_explain IN QUESTION.EXPLAIN%TYPE,
p_img IN QUESTION.PHOTOID%TYPE,
p_mail IN USERS.MAIL%TYPE)
IS
BEGIN
INSERT INTO QUESTION ("NAME","CREATEDATE","TAG","STATUS","MONEY","PHOTOID","OWNID","EXPLAIN")
VALUES (p_name,CURRENT_DATE,p_tag,'T',p_money,p_mail,(SELECT ID FROM USERS WHERE MAIL=p_mail),p_explain);
COMMIT;
END;
Эта страница на asp.net называется add.aspx. Я хочу запустить процедуру оракула add в таблицу оракула.
cnn = new OracleConnection(connectionString);
string image_read = Request.Form["ImageRead"];
string explain_read =this.addName.InnerText;
string comment_read = this.addComment.InnerText;
string price_read = Request.Form["priceMedia"];
string tag_read = Request.Form["TagMedia"];
float price = float.Parse(price_read);
string pathsw = "/images/" + image_read;
cnn.Open();
OracleCommand profile_photo_cmd = new OracleCommand("insert into PHOTO (Path) values (:path) ", cnn);
profile_photo_cmd.Parameters.Add(new OracleParameter(":path", pathsw));
profile_photo_cmd.ExecuteNonQuery();
OracleCommand cmd2 = cnn.CreateCommand();
cmd2.CommandText = "SELECT MAX(ID) AS ID FROM PHOTO ";
cmd2.CommandType = CommandType.Text;
OracleDataReader dr = cmd2.ExecuteReader();
dr.Read();
string id = dr["ID"].ToString();
int img_id = Int32.Parse(id);
dr.Close();
cnn.Close();
string mailSession = "";
if (Session["UserMail"] != null)
{
mailSession = Session["UserMail"].ToString();
}
cnn.Open();
OracleCommand cmdu = cnn.CreateCommand();
cmdu.CommandText = "INSERTQUESTION(:exp_read,:t_read,:pri_read,:comment_read,:img_read,:mail_id)";
cmdu.CommandType = CommandType.StoredProcedure;
cmdu.BindByName = true;
cmdu.Parameters.Add(new OracleParameter(":mail_id",OracleDbType.NVarchar2)).Value = mailSession;
cmdu.Parameters.Add(new OracleParameter(":img_read",OracleDbType.Int32)).Value = img_id;
cmdu.Parameters.Add(new OracleParameter(":exp_read", OracleDbType.NVarchar2)).Value = explain_read;
cmdu.Parameters.Add(new OracleParameter(":comment_read", OracleDbType.NVarchar2)).Value = comment_read;
cmdu.Parameters.Add(new OracleParameter(":pri_read",OracleDbType.BinaryFloat)).Value=price;
cmdu.Parameters.Add(new OracleParameter(":t_read",OracleDbType.NVarchar2)).Value = tag_read;
try
{
cmdu.ExecuteNonQuery();
}
catch (Exception ex)
{
Response.Write(ex);
}
cnn.Close();