asp.net實現調用帶有輸出參數的預存程序執行個體_實用技巧

來源:互聯網
上載者:User

本文執行個體講述了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程式設計有所協助。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.