asp.net中调用oracle 9i中的存储过程的请教
下面这段代码是我在Oracle 9i的方案下的enshi2004用户下根据向导定义的
(
p_id in number
)
as
begin
declare x number(30);
begin
select count(*) into x from enshi2004.cgfgxx where id = p_id;
if x > 0 then
insert into enshi2004.testclob values (555,'ft','hehe');
else
insert into enshi2004.testclob values (999,'ft','hehe');
end if;
end;
end usp_test;
我在一个测试页面中使用的代码如下:
String strConnect = System.Configuration.ConfigurationSettings.AppSettings["strConnectDB"].ToString(); //这条
语句是从web.config中取得连接字符串
OracleConnection oraConn = new OracleConnection(strConnect);
OracleCommand myCommand = new OracleCommand("enshi2004.usp_test",oraConn);
//其中enshi2004是我的一个用户名,我所使用的表和存储过程都是这个用户的。usp_test是存储过程名。见上。
myCommand.CommandType = CommandType.StoredProcedure;
myCommand.Parameters.Add("@p_id",245);
oraConn.Open();
myCommand.ExecuteNonQuery();
//每次总是这里出错,好像是调用存储过程出现的问题
oraConn.Close();
Response.Write("Success!");
提示错误如下:
ORA-01036: 非法的变量名/编号
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.OracleClient.OracleException: ORA-01036: 非法的变量名/编号
源错误:
行 34: myCommand.Parameters.Add("@p_id",245);
行 35: oraConn.Open();
行 36: myCommand.ExecuteNonQuery();行 37: //每次总是这里出错,
好像是调用存储过程出现的问题
行 38:
源文件: d:\保留\enshi\kjcgxx\testusp.aspx.cs 行: 36
请大虾指教!
谢谢!
...全文
相关推荐
【精华志】超详细Oracle存储过程使用手册
【精华志】超详细Oracle存储过程使用手册 QQ交流群60168829 欢迎C# ASP.NET 和SQL新手 老手 高手加入 谢谢
oracle.dataaccess
Oracle.DataAccess.dll x86 x64 用于asp.net连接Oracle数据库
ODAC.9.0.1 ODAC.9.0.1 Full Source
ODAC.9.0.1 Full Source
c#面试经典题目
超实用的c#面试题,可以说在面试之前把我文档里边所说的题目都大体了解一下,相信你会成功的得到offer.
C#的常用数据库连接
1 连接SQL Server数据库示例, 2 // 连接到 ACCESS 的连接字符串 3 // 连接到 Oracle 数据库示例,4 SqlCommand 执行SQL命令示例,5 SqlDataReader 读取数据示例, 6 使用DataAdapter填充数据到DataSet,7 使用DataTable存储数据库表内容, 8 将数据库数据填充到 XML 文件,9 ASP.NET 使用存储过程 10 使用带输入参数的存储过程 13 保存图片到SQL Server数据库示例 15 如何读取Excel表格中的数据


