咦,LZ的存储过程好像是SQL SERVER中的,更新语句后连COMMIT都没有,类型也可能有问题,建议LZ好好看一下ORACLE与SQL SERVER的区别
解决方案 »
- oracle安装过程中出现问题
- SQL Cookbook 中文版 PDF下载
- 请问ORACLE DATAGRID的优缺点,尤其缺点呢?
- 用这个Student.Sno=SelectCourse.Sno 报错了为什么??
- 数据库查询优化
- 痛苦啊,俺的win2k一启动到进度条将要结束就马上出现:Stop:c000026c unkonw hard error!!
- PL/SQL的SESSION独立性问题,急,在线等
- 关于oracle的经典教材的讨论
- Oracle高手请进,帮忙能得500分
- 我的代码错在那里了,请大家帮我看一下
- oracle 10g 命令 alter 可以实现改表的名字吗?
- 如何判定当前日期的月份是双月 还是单月?
(
USERNAME_1 IN VARCHAR,
PASSSWORD_2 IN VARCHAR
)
is
begin
update TUSERS set PassWord = PASSSWORD_2 where UserName=USERNAME_1;
end ;麻烦了
(
USERNAME_1 IN VARCHAR2,
PASSSWORD_2 IN VARCHAR2
)
is
begin
update TUSERS set PassWord = PASSSWORD_2 where UserName=USERNAME_1;
--这里可以加上异常处理
commit;
end ;
Oracle方面
1.创建Oracle过程存储
create or replace procedure proce_test(paramin in varchar2,paramout out varchar2,paraminout in out varchar2)
as
varparam varchar2(28);
begin
varparam:=paramin;
paramout:=varparam|| paraminout;
end;
2.测试过程存储
declare
param_out varchar2(28);
param_inout varchar2(28);
begin
param_inout:='ff';
proce_test('dd',param_out,param_inout);
dbms_output.put_line(param_out);
end;C#方面
引用Oracle组件
using System;
using System.Data;
using System.Data.OracleClient; namespace WebApplication4
{
public class OraOprater
{
private OracleConnection conn=null;
private OracleCommand cmd=null;
public OraOprater()
{
string mConn="data source=ora9i.ora.com;user id=ora;password=ora"; //连接数据库
conn=new OracleConnection(mConn);
try
{
conn.Open();
cmd=new OracleCommand();
cmd.Connection=conn;
}
catch(Exception e)
{
throw e;
}
} public string SpExeFor(string m_A,string m_B)
{
//存储过程的参数声明
OracleParameter[] parameters={
new OracleParameter("paramin",OracleType.VarChar,20),
new OracleParameter("paramout",OracleType.VarChar,20),
new OracleParameter("paraminout",OracleType.VarChar,20)
};
parameters[0].Value=m_A;
parameters[2].Value=m_B;
parameters[0].Direction=ParameterDirection.Input;
parameters[1].Direction=ParameterDirection.Output;
parameters[2].Direction=ParameterDirection.InputOutput;
try
{
RunProcedure("proce_test",parameters);
return parameters[1].Value.ToString();
}
catch(Exception e)
{
throw e;
}
} private void RunProcedure(string storedProcName,OracleParameter[] parameters)
{
cmd.CommandText=storedProcName;//声明存储过程名
cmd.CommandType=CommandType.StoredProcedure;
foreach(OracleParameter parameter in parameters)
{
cmd.Parameters.Add(parameter);
}
cmd.ExecuteNonQuery();//执行存储过程
}
}
}
OleDbParameter[] Params=new OleDbParameter[2];
Params[0]=Proc.MakeParameter("@UserName_1",OleDbType.VarChar,50,Name);
Params[1]=Proc.MakeParameter("@PassWord_2",OleDbType.VarChar,50,Pass);
--给你一个例子
string sql = "lgms_ins.build_out_ins_by_reqs";
OracleParameter[] parms = new OracleParameter[3];
parms[0] = new OracleParameter("p_date", OracleType.DateTime);
parms[0].Value = instructionDate;
parms[1] = new OracleParameter("p_isschedule", OracleType.Int32);
parms[1].Value = isSchedule;
parms[2] = new OracleParameter("p_uid", OracleType.VarChar, 20);
parms[2].Value = userID;
OracleHelper.ExecuteNonQuery(sql, CommandType.StoredProcedure, parms);
SpDataProc 是你自己定义的类把