国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

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

2019-10-29 19:32:14
字體:
供稿:網(wǎng)友

使用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身份驗證 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). 調(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é)束為止,這通常會浪費服務(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)閉連接的實現(xiàn)方式,另外finally塊始終調(diào)用Close()方法,這并不會造成問題或者過多地浪費資源,而且能確保關(guān)閉連接。

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


注:相關(guān)教程知識閱讀請移步到c#教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 获嘉县| 株洲市| 班戈县| 乐亭县| 旌德县| 金门县| 青岛市| 尖扎县| 赞皇县| 依安县| 宁化县| 汝州市| 陵川县| 石楼县| 平定县| 吐鲁番市| 定远县| 广丰县| 通化市| 巴林右旗| 徐闻县| 永泰县| 陆川县| 迭部县| 凤凰县| 南和县| 永清县| 黄山市| 通榆县| 栾川县| 冀州市| 临泽县| 安西县| 太康县| 临武县| 丹东市| 新宁县| 遵义市| 长岛县| 广丰县| 铜鼓县|