110,571
社区成员
发帖
与我相关
我的任务
分享
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;
}