0
我正在開發一個帶有Oracle數據庫的ASP.net應用程序。當我嘗試將數據插入到表寄存器,它拋出一個異常,如下通過asp.net插入參數到Oracle數據庫
ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'INSERTREGISTER'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
表REGISTER已經用戶名,密碼,電子郵件作爲列
存儲過程INSERTREGISTER是如下
create or replace
PROCEDURE INSERTREGISTER IS
u1 varchar2(20);
p1 varchar2(20);
e1 varchar2(20);
BEGIN
INSERT INTO REGISTER (USERNAME, PASSWORD, EMAIL) VALUES (u1, p1, e1);
END INSERTREGISTER;
我的c#代碼是:
public int Insert(string u1, string p1, string e1)
{
try
{
OracleCommand cmd = new OracleCommand("INSERTREGISTER", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new OracleParameter("u1", OracleType.VarChar)).Value = u1;
cmd.Parameters.Add(new OracleParameter("p1", OracleType.VarChar)).Value = p1;
cmd.Parameters.Add(new OracleParameter("e1", OracleType.VarChar)).Value = e1;
conn.Open();
cmd.ExecuteNonQuery();
return cmd.ExecuteNonQuery();
}
請幫我
問候, 阿瓊
我照你說的已經編輯,但拋出3個錯誤! – 2012-03-06 14:44:47
不需要varchar2'(20)'的長度,只需要:'PROCEDURE INSERTREGISTER(u1 varchar2,p1 varchar2,e1 varchar2)AS BEGIN ...' – 2012-03-06 14:45:38
@ A.B.Cade:謝謝!!!!!!錯誤消失了,但數據在表格中插入了兩次。 – 2012-03-06 15:00:00