欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
C#執行存儲過(guò)程

using System;
using System.Data;
using System.Data.SqlClient;

這是命名空間,不用多講解了吧。

 public class DAL       //定義一個(gè)類(lèi)
 {
  string cnstr="data source=.;initial catalog=company;persist security info=False;user id=sa;pwd=sa;";

//定義連接數據庫的連接字符串
  private SqlCommand cm=new SqlCommand(); //建立Command對象

//定義一個(gè)全局的Command 對象。


  public SqlCommand getCommand    //返回Command對象
  {
   get {return cm;}
  }

  public DAL() //構造函數
  {
   cm.Connection=new SqlConnection(cnstr);
  }

下面是添加存儲過(guò)程參數的部分

//---------------------------------------------------------
  //添加參數
  //---------------------------------------------------------
 

 如果要執行新的存儲過(guò)程,需要先清除以前添加的存儲過(guò)程的參數


  //清除參數
  public void ClearParameter()
  {cm.Parameters.Clear();}

這是一個(gè)通用的添加參數的函數。


  //全部的參數
  public void addNewParameter(string ParameterName,string ParameterValue,SqlDbType sqlType,int size,string Direction)
  { 
   cm.Parameters.Add(ParameterName,sqlType,size);   //添加存儲過(guò)程的參數
   cm.Parameters[ParameterName].Value=ParameterValue;  //負值
   cm.Parameters[ParameterName].Direction=getDirection(Direction);//設置方向
  }

  //方向為輸入的
  public void addNewParameter(string ParameterName,string ParameterValue,SqlDbType sqlType,int size)
  { 
   cm.Parameters.Add(ParameterName,sqlType,size);   //添加存儲過(guò)程的參數
   cm.Parameters[ParameterName].Value=ParameterValue;  //負值
   //cm.Parameters[ParameterName].Direction=getDirection(Direction);//設置方向
  
  }

下面是把常用的幾個(gè)數據類(lèi)型提出來(lái),方便操作。

這是專(zhuān)門(mén)添加 int 數據類(lèi)型的參數


  //添加int型的參數
  public void addNewParameter(string ParameterName,int ParameterValue)
  { 
   cm.Parameters.Add(ParameterName,SqlDbType.Int,4);   //添加存儲過(guò)程的參數
   cm.Parameters[ParameterName].Value=ParameterValue;   //負值
   //設置方向取默認值——輸入
  }

這是專(zhuān)門(mén)添加 nvarChar 數據類(lèi)型的參數

  //添加nvarChar型的參數
  public void addNewParameter(string ParameterName,string ParameterValue,int size)
  { 
   cm.Parameters.Add(ParameterName,SqlDbType.NVarChar,size);   //添加存儲過(guò)程的參數
   cm.Parameters[ParameterName].Value=ParameterValue;   //負值
   //設置方向取默認值——輸入的
  
  }

這是專(zhuān)門(mén)添加 Bit 數據類(lèi)型的參數

  //添加bit型的參數
  public void addNewParameter(string ParameterName,bool ParameterValue)
  { 
   cm.Parameters.Add(ParameterName,SqlDbType.Bit);   //添加存儲過(guò)程的參數
   cm.Parameters[ParameterName].Value=ParameterValue;   //負值
   //設置方向取默認值——輸入的
  
  }

如果你還有其他的數據類(lèi)型也是經(jīng)常使用的,可以再加相應的函數。

參數加完了,下面就可以運行存儲過(guò)程了


  //-------------------------------------------------------------
  //    運行、返回記錄集
  //-------------------------------------------------------------

通過(guò)傳入的存儲過(guò)程的名稱(chēng)來(lái)執行存儲過(guò)程,把返回的記錄集放到DataSet里面,如果是多個(gè)記錄集的話(huà),分別放在Table[0]、Table[1]、Table[2]……


  //運行存儲過(guò)程返回DataSet
  public DataSet runSPDataSet(string StoredProcedureName)
  {
   //cm.Connection=new SqlConnection(cnstr);
   cm.CommandText=StoredProcedureName;
   cm.CommandType=CommandType.StoredProcedure;
   try
   {
    SqlDataAdapter da=new SqlDataAdapter(cm);
    DataSet DS=new DataSet();
    da.Fill(DS);
    return DS;
   }
   catch(Exception ex)
   {
    throw ex;
   }
   finally
   {
    cm.Connection.Close();
   }
  }

通過(guò)傳入的存儲過(guò)程的名稱(chēng)來(lái)執行存儲過(guò)程,把返回的第一個(gè)記錄集里的第一條記錄放在Object 數組里。多用在顯示詳細信息里,因為這種情況大多都是只用一條記錄的。如果是空的話(huà)返回 strValue[0]="null" 。

//運行存儲過(guò)程返回第一條記錄的數組
  public Object[] runSPItems(string StoredProcedureName)
  { 
   Object[] strValue=new Object[1];
   cm.CommandText=StoredProcedureName;
   cm.CommandType=CommandType.StoredProcedure;
   try
   {
    cm.Connection.Open();
    SqlDataReader r =  cm.ExecuteReader(CommandBehavior.CloseConnection);
    if (r.Read())
    {
     strValue=new Object[r.FieldCount];
     r.GetValues(strValue);
    }
    else
    {
     strValue[0]="null";
    }r.Close();
   }
   catch(Exception ex)
   {
    throw ex;
   }
   finally
   {
    cm.Connection.Close();
   }
   return strValue;
  }

如果你想用 DataReader 的話(huà),可以用這個(gè)函數返回Command對象,然后用Command.ExecuteReader,最后再用Command.Connection.Close(),關(guān)閉連接。應該還有更好的方法吧,總之我是很少用DataReader 的。

//加入存儲過(guò)程需要的參數,返回command
  public SqlCommand getSPCommand(string StoredProcedureName)
  { 
   //cm.Connection=new SqlConnection(cnstr);
   cm.CommandText=StoredProcedureName;
   cm.CommandType=CommandType.StoredProcedure;
   return cm;
  }

如果只是添加記錄不需要返回記錄集的話(huà),可以用下面的函數。

//運行存儲過(guò)程 不返回記錄集,用于添加記錄,或者是通過(guò)存儲過(guò)程的參數返回數據。
  public string runSP(string ParameterName)
  { 
   //cm.Connection=new SqlConnection(cnstr);
   cm.CommandType=CommandType.StoredProcedure;
   cm.CommandText=ParameterName;
   try
   {
    cm.Connection.Open();
    cm.ExecuteNonQuery();
    cm.Connection.Close();
    return "true";
   }
   catch(Exception ex)
   {
    throw ex;
   }
   finally
   {
    cm.Connection.Close();
   }

  }

存儲過(guò)程也執行完畢了,那如果有output類(lèi)型的參數,要取回參數值怎么辦呢,那就寫(xiě)個(gè)函數來(lái)實(shí)現吧。

  //按序號返回參數值,一般在執行完存儲過(guò)程后使用
  public string getParameter(int ParameterIndex)
  { 
   return cm.Parameters[ParameterIndex].Value.ToString();
  }

  //按名稱(chēng)返回參數值
  public string getParameter(string ParameterName)
  { 
   return cm.Parameters[ParameterName].Value.ToString();
  }

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
[.NET]ADO.NET調用存儲過(guò)程
C#中調用存儲過(guò)程,通過(guò)DataGridView顯示
VB.net數據庫編程(06):調用存儲過(guò)程(帶參和不參數情況)
操作數據庫的類(lèi)DbHelper.cs
Attribute在.NET編程中的應用(四)
VB.NET調用SQL Server存儲過(guò)程的相關(guān)應用方法
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久