45fan.com - 路饭网

搜索: 您的位置主页 > 电脑频道 > 编程代码 > 阅读资讯:怎么样使用asp.net调用带有输出参数的存储?

怎么样使用asp.net调用带有输出参数的存储?

2016-03-22 16:49:46 来源:www.45fan.com 【

怎么样使用asp.net调用带有输出参数的存储?

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

前台jqurey

<script type="text/javascript">
 $(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);}
  });});
 });
</script>

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("<font color=red>用户名已经存在,请尝试其它用户名!</font>");
 }
 else
 {
  Response.Write("<font color=black>用户名可以使用!</font>");
 }
}

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程序设计有所帮助。


本文地址:http://www.45fan.com/bcdm/43236.html
Tags: 实现 ASP.NET 输出
编辑:路饭网
推广内容
推荐阅读
热门推荐
推荐文章
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部