初次接触Oracle,真是一头雾水呀示例存储过程如下(别人写的):CREATE OR REPLACE PROCEDURE TL_GAMEUSER."P_REGISTER_USER" (
v_cn IN varchar2,
v_password IN varchar2,
v_ip IN varchar2,
b_return OUT BINARY_INTEGER
)
AS
n_rowcount NUMBER;
errcode1 EXCEPTION;
BEGIN
SELECT COUNT (*) INTO n_rowcount FROM user_basic WHERE cn = v_cn;
IF n_rowcount > 0 THEN
RAISE errcode1;
END IF; INSERT INTO user_basic
(uin, cn, passwd_md5, regip, regdate)
VALUES (seq_user_basic_uin.NEXTVAL, v_cn,v_password, v_ip, SYSDATE);
b_return := 0;
EXCEPTION
WHEN errcode1
THEN
b_return := 1;
WHEN OTHERS
THEN
b_return := 9;
END;
我调用的时候,老是报错调用代码如下 public static int UserRegister(string usr, string pwd, string regip)
{
int rtn = 9;
OracleConnection conn = new OracleConnection(oracleconnectionstring);
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = "Call TL_GAMEUSER.P_REGISTER_USER";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("v_cn", usr);
cmd.Parameters.AddWithValue("v_password", ComFun.ConvertStringToMd5(pwd));
cmd.Parameters.AddWithValue("v_ip", regip);
OracleParameter prtn = new OracleParameter("b_return", OracleType.Number);
prtn.Direction = ParameterDirection.Output;
cmd.Parameters.Add(prtn);
try
{
conn.Open();
cmd.ExecuteNonQuery();
rtn = int.Parse(prtn.Value.ToString());
}
catch (Exception ex)
{
throw (ex);
}
finally
{
if (conn.State == ConnectionState.Open) conn.Close();
}
return rtn;
}
报错信息ORA-06550: 第 1 行, 第 12 列:
PLS-00103: 出现符号 "TL_GAMEUSER"在需要下列之一时:
:= . ( @ % ;
符号 ":=" 被替换为 "TL_GAMEUSER" 后继续。
v_cn IN varchar2,
v_password IN varchar2,
v_ip IN varchar2,
b_return OUT BINARY_INTEGER
)
AS
n_rowcount NUMBER;
errcode1 EXCEPTION;
BEGIN
SELECT COUNT (*) INTO n_rowcount FROM user_basic WHERE cn = v_cn;
IF n_rowcount > 0 THEN
RAISE errcode1;
END IF; INSERT INTO user_basic
(uin, cn, passwd_md5, regip, regdate)
VALUES (seq_user_basic_uin.NEXTVAL, v_cn,v_password, v_ip, SYSDATE);
b_return := 0;
EXCEPTION
WHEN errcode1
THEN
b_return := 1;
WHEN OTHERS
THEN
b_return := 9;
END;
我调用的时候,老是报错调用代码如下 public static int UserRegister(string usr, string pwd, string regip)
{
int rtn = 9;
OracleConnection conn = new OracleConnection(oracleconnectionstring);
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = "Call TL_GAMEUSER.P_REGISTER_USER";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("v_cn", usr);
cmd.Parameters.AddWithValue("v_password", ComFun.ConvertStringToMd5(pwd));
cmd.Parameters.AddWithValue("v_ip", regip);
OracleParameter prtn = new OracleParameter("b_return", OracleType.Number);
prtn.Direction = ParameterDirection.Output;
cmd.Parameters.Add(prtn);
try
{
conn.Open();
cmd.ExecuteNonQuery();
rtn = int.Parse(prtn.Value.ToString());
}
catch (Exception ex)
{
throw (ex);
}
finally
{
if (conn.State == ConnectionState.Open) conn.Close();
}
return rtn;
}
报错信息ORA-06550: 第 1 行, 第 12 列:
PLS-00103: 出现符号 "TL_GAMEUSER"在需要下列之一时:
:= . ( @ % ;
符号 ":=" 被替换为 "TL_GAMEUSER" 后继续。
解决方案 »
- C# 循环显示内存图片
- 谁能帮我这段代码简单的注释下,谢谢了。
- 图片保存 问题
- 别人的一个项目程序copy到我的机子上来 就显示无法解析程序集
- B/S 执行A按钮的点击事件后返回页面后 自动执行B按钮的点击事件,怎样实现??急,在线
- WebBrowser支持编辑模式吗?请高手赐教。
- ★★★高分相送!谁有bitware新版本(不要3.3版),绝对能装到win2000上的!在线等待!★★★
- 微软专家来做培训,你最想得到解决的关于.Net中的问题是哪些?
- 怎么将vs.net编辑器默认语言指定为 C#
- .Net 有没有可用的对象持久化框架
- winform打包后实行安装的程序说找不到xml文件,怎么解决啊?
- 谁建过按"坐标"查找的索引吗?帮帮我!
PLS-00201: 必须声明标识符 'TL_GAMEUSER.P_REGISTER_USER'
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored又报这个错了
create or replace procedure TL_GAMEUSER
cmd.CommandText = "TL_GAMEUSER";
Oracle9i SQL 参考手册