91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在C#中使用SqlConnection連接SQL Server

發布時間:2021-05-07 16:53:35 來源:億速云 閱讀:637 作者:Leah 欄目:編程語言

怎么在C#中使用SqlConnection連接SQL Server?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

(1). 利用SqlConnection創建連接

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身份驗證
 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身份驗證
 //m_strConnection = 
    @"server=localhost\SQLEXPRESS;database=SQL2012Db;Trusted_Connection=SSPI;";
   
 DisConnect();
 
 m_Transaction = null;
 m_SqlConnection = new SqlConnection(m_strConnection);
}

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

/// <summary>
/// 嘗試連接數據庫
/// </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). 調用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;

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

如下所示,我們封裝一個執行SQL存儲過程的函數:

/// <summary>
/// 執行返回查詢結果的存儲過程
/// </summary>
/// <param name="procname">存儲過程名?</param>
/// <param name="param">參數。函數正常返回時,所有類型為out的參數值也在對應位置上</param>
/// <param name="result">返回查詢的結果</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();
	}
}

關于怎么在C#中使用SqlConnection連接SQL Server問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

潢川县| 玛多县| 桦甸市| 通道| 高尔夫| 青铜峡市| 尼勒克县| 平远县| 隆回县| 藁城市| 隆昌县| 南阳市| 棋牌| 临武县| 墨脱县| 蓬莱市| 麻阳| 江华| 当涂县| 遂宁市| 曲靖市| 松桃| 乐亭县| 柏乡县| 邢台市| 南皮县| 安平县| 内丘县| 保山市| 周口市| 桐城市| 深水埗区| 棋牌| 阳朔县| 建瓯市| 长岭县| 安远县| 阿拉善盟| 弥渡县| 顺昌县| 阿坝县|