【发布时间】:2015-03-26 22:11:11
【问题描述】:
这是我的 pl sql 代码(包含函数的包):
CREATE OR REPLACE
PACKAGE PACKAGE_REQUETE
IS
FUNCTION REQUETEFONCTION (ParametreId requete.id%TYPE ) RETURN number;
END PACKAGE_REQUETE;
/
CREATE PACKAGE BODY PACKAGE_REQUETE
IS
FUNCTION REQUETEFONCTION (ParametreId requete.id%TYPE )
RETURN number IS
VariableId requete.id%TYPE ;
BEGIN
SELECT id INTO VariableId FROM requete WHERE id = ParametreId;
RETURN VariableId;
EXCEPTION WHEN OTHERS
THEN
RETURN (-1);
END REQUETEFONCTION;
END PACKAGE_REQUETE;
/
我尝试使用 ExecuteScalar 和 ExecuteNonQuery 从 Windows 窗体应用程序调用它,但没有运气。
请在下方找到C# 代码:
private void button3_Click_1(object sender, EventArgs e)
{
OracleConnection conn = new OracleConnection(Authentification.chaineConnection);
OracleCommand cmd = new OracleCommand("PACKAGE_REQUETE.REQUETEFONCTION(1)", conn);
cmd.Connection = conn;
conn.Open();
cmd.CommandType = CommandType.StoredProcedure;
textBox1.Text = cmd.ExecuteScalar().ToString();
}
能否请您帮我找出导致错误的原因。
【问题讨论】:
-
但它不起作用 不是可接受的错误。您遇到的具体错误是什么?
-
ORA-06550:第 1 行,第 7 列:PLS-00221:“REQUETEFONCTION”不是过程或未定义 ORA-06550:第 1 行,第 7 列:PL/SQL:语句被忽略跨度>