欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#使用SqlConnection連接到SQL Server的代碼示例

 更新時間:2019年03月11日 14:29:50   作者:xuanyin235  
這篇文章主要介紹了C#使用SqlConnection連接到SQL Server的代碼示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

使用SqlConnection連接到SQL Server 2012

示例如下:

(1). 利用SqlConnection創(chuàng)建連接

public SQLServerAPI(string str_ip, string str_db, string str_user, string str_pwd)
{
 m_strIp = str_ip;
 m_strDb = str_db;
 m_strUser = str_user;
 m_strPwd = str_pwd;
   
 //SQLServer身份驗(yàn)證
 m_strConnection = @"Data Source=" + m_strIp;
 m_strConnection += @";Initial Catalog=" + m_strDb;
 m_strConnection += @";UID=" + m_strUser + ";PWD=" + m_strPwd;
 m_strConnection += ";Connection Timeout=10;Pooling=true;Max Pool Size=100";
 
 //Windows身份驗(yàn)證
 //m_strConnection = 
    @"server=localhost\SQLEXPRESS;database=SQL2012Db;Trusted_Connection=SSPI;";
   
 DisConnect();
 
 m_Transaction = null;
 m_SqlConnection = new SqlConnection(m_strConnection);
}

(2). 調(diào)用Open方法,以建立與服務(wù)器的會話。

/// <summary>
/// 嘗試連接數(shù)據(jù)庫
/// </summary>
private bool Connect()
{
 if (m_SqlConnection == null)
  return false;
 
 try
 {
  m_SqlConnection.Open();
 }
 catch (Exception e)
 {
  Debug.WriteLine(e.Message);
  return false;
 }
  return true;
}

(3). 調(diào)用Close()方法終止會話

private bool DisConnect()
{
 if (m_SqlConnection == null)
  return true;
 
 try
 {
  m_SqlConnection.Close();
 }
 catch (Exception e)
 {
  Debug.WriteLine(e.Message);
  return false;
 }
 return true;

許多程序員都使連接一直處于打開狀態(tài),直到程序結(jié)束為止,這通常會浪費(fèi)服務(wù)器資源。與這種打開一次,永不關(guān)閉的方式相比,使用連接池,在需要時打開和關(guān)閉連接要更加高效。

如下所示,我們封裝一個執(zhí)行SQL存儲過程的函數(shù):

/// <summary>
/// 執(zhí)行返回查詢結(jié)果的存儲過程
/// </summary>
/// <param name="procname">存儲過程名?</param>
/// <param name="param">參數(shù)。函數(shù)正常返回時,所有類型為out的參數(shù)值也在對應(yīng)位置上</param>
/// <param name="result">返回查詢的結(jié)果</param>
/// <returns>0正確,其他錯誤</returns>
public int ExecQueryStoreProc(string procname, ref SqlParameter[] param, out DataTable result)
{
	if (!Connect())
	{
		result = null;
		return -1;
	}
 
	try
	{
		SqlCommand command = new SqlCommand(procname, m_SqlConnection);
		command.CommandType = CommandType.StoredProcedure;
 
		if (m_Transaction != null)
			command.Transaction = m_Transaction;
 
		SqlParameter rvalue = command.Parameters.Add(new SqlParameter("RETURN_VALUE", SqlDbType.Int));
		rvalue.Direction = ParameterDirection.ReturnValue;
 
		if (param != null)
			command.Parameters.AddRange(param);
 
		result = new DataTable();
		SqlDataReader reader = command.ExecuteReader();
		if (reader.HasRows)
			result.Load(reader);
 
		return Convert.ToInt32(command.Parameters["RETURN_VALUE"].Value);
	}
	catch (Exception)
	{
		result = null;
		return -1;
	}
	finally
	{
		DisConnect();
	}
}

上述過程就是在需要時打開和關(guān)閉連接的實(shí)現(xiàn)方式,另外finally塊始終調(diào)用Close()方法,這并不會造成問題或者過多地浪費(fèi)資源,而且能確保關(guān)閉連接。

以上所述是小編給大家介紹的SQL Server創(chuàng)建連接代碼示例詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • C#多線程系列之進(jìn)程同步Mutex類

    C#多線程系列之進(jìn)程同步Mutex類

    本文詳細(xì)講解了C#多線程中的進(jìn)程同步Mutex類,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • C#中事件處理的個人體會

    C#中事件處理的個人體會

    C#中事件處理的個人體會...
    2006-12-12
  • 在C#中使用二叉樹實(shí)時計(jì)算海量用戶積分排名的實(shí)現(xiàn)詳解

    在C#中使用二叉樹實(shí)時計(jì)算海量用戶積分排名的實(shí)現(xiàn)詳解

    這篇文章主要介紹了在C#中使用二叉樹實(shí)時計(jì)算海量用戶積分排名的實(shí)現(xiàn)詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • c# HashSet的擴(kuò)容機(jī)制需要注意的

    c# HashSet的擴(kuò)容機(jī)制需要注意的

    這篇文章主要介紹了c# HashSet的擴(kuò)容機(jī)制需要注意的兩個地方,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • C#導(dǎo)出文本內(nèi)容到word文檔的方法

    C#導(dǎo)出文本內(nèi)容到word文檔的方法

    這篇文章主要介紹了C#導(dǎo)出文本內(nèi)容到word文檔的方法,涉及C#操作word文檔的相關(guān)技巧,需要的朋友可以參考下
    2015-04-04
  • WPF實(shí)現(xiàn)帶模糊搜索的DataGrid的示例代碼

    WPF實(shí)現(xiàn)帶模糊搜索的DataGrid的示例代碼

    這篇文章主要為大家詳細(xì)介紹了WPF如何實(shí)現(xiàn)帶模糊搜索的DataGrid,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下
    2023-02-02
  • 關(guān)于C#中的Invoke示例詳解

    關(guān)于C#中的Invoke示例詳解

    一直對invoke和begininvoke的使用和概念比較混亂,這兩天看了些資料,對這兩個的用法和原理有了些新的認(rèn)識和理解,下面這篇文章主要給大家介紹了關(guān)于C#中Invoke的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • C#讀寫共享文件夾的方法

    C#讀寫共享文件夾的方法

    這篇文章主要為大家詳細(xì)介紹了C#讀寫共享文件夾的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • C#事件訪問器詳解

    C#事件訪問器詳解

    C#事件訪問器詳細(xì)解析。下面示例演示了具有訪問器的聲明.兩個訪問器都有叫做value的隱式值參數(shù),它接受實(shí)例或靜態(tài)方法的引用
    2014-01-01
  • C#使用Aspose.Cells控件讀取Excel

    C#使用Aspose.Cells控件讀取Excel

    本文介紹Aspose.Cells基礎(chǔ)的用法,供大家參考。
    2016-03-03

最新評論