.net oracle 输出参数,asp.net实现调用带有输出参数的存储过程实例

本文实例讲述了asp.net实现调用带有输出参数的存储过程。分享给大家供大家参考,具体如下:

前台jqurey

$(document).ready(function(){

$('#change_image').click(function(){ $('#imgAuthenCode').attr('src','CheckCode.aspx?'+Math.random());});

$("#accounts").bind("blur",function(){

$.ajax({

url:"checkusername.aspx",

type:"post",

datatype:"html",

data:{user_name:$("#accounts").val()},

success:function(msg){$("#tip_accounts").html(msg);}

});});

});

aspx文件:

protected void Page_Load(object sender, EventArgs e)

{

Entity.User us = new Entity.User();

us.User_name = Request.Params["user_name"].ToString();

if (us.User_CheckName())

{

Response.Write("用户名已经存在,请尝试其它用户名!");

}

else

{

Response.Write("用户名可以使用!");

}

}

user类

public bool User_CheckName()

{

try

{

string[,] sArray = new string[2, 2];

sArray[0, 0] = "@user_name";

sArray[1, 0] = "@r_id";

sArray[0, 1] = User_name;

sArray[1, 1] = null;

Factory.SqlModel sm = new Factory.SqlModel();

Id = sm.Proc_Return_R_ID("User_CheckName", sArray);

if (Id > 0)

{

return true;

}

else

{

return false;

}

}

catch (Exception e)

{

Log lg = new Log();

lg.ExceptionError(e);

return false;

}

}

sqlmodel 类  一定要设置输出参数的类型 及长度  否则出现 错误

String[1]: the Size property has an invalid size of 0.

public int Proc_Return_R_ID(string proc_name, string[,] sArray)

{

try

{

if (sArray.GetLength(0) >= 1)

{

DataBase db = new DataBase();

SqlParameter[] sqlpar = new SqlParameter[sArray.GetLength(0)];//加入返回值

for (int i = 0; i < sArray.GetLength(0); i++)

{

sqlpar[i] = new SqlParameter(sArray[i, 0], sArray[i, 1]);

}

sqlpar[sArray.GetLength(0) - 1].Direction = ParameterDirection.Output;

sqlpar[sArray.GetLength(0) - 1].SqlDbType = SqlDbType.Int;

return db.Proc_Return_R_ID(proc_name, sqlpar);

}

else

{

return 0;

}

}

catch

{

return 0;

}

}

DATABASE.cs 类

public int Proc_Return_R_ID(string proc_name, params SqlParameter[] cmdParms)

{

try

{

OpenConnection();

if (cmdParms != null)

{

foreach (SqlParameter parameter in cmdParms)

{

if ((parameter.Direction == ParameterDirection.InputOutput || parameter.Direction == ParameterDirection.Input) && (parameter.Value == null))

{

parameter.Value = DBNull.Value;

}

BaseSqlCommand.Parameters.Add(parameter);

}

BaseSqlCommand.CommandType = CommandType.StoredProcedure;

BaseSqlCommand.CommandText = proc_name;

BaseSqlCommand.ExecuteNonQuery();

return (int)BaseSqlCommand.Parameters["@r_id"].Value;

}

else

{

return 0;

}

}

catch

{

return 0;

}

finally

{

BaseSqlCommand.Parameters.Clear();

CloseConnection();

}

}

希望本文所述对大家asp.net程序设计有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值