為了訪(fǎng)問(wèn)數(shù)據(jù)庫(kù),就要提供數(shù)據(jù)庫(kù)連接類(lèi),在C#中,是通過(guò)Connection類(lèi)來(lái)實(shí)現(xiàn)的
四種類(lèi)型的連接方式
以SQLConnection方式實(shí)現(xiàn)數(shù)據(jù)庫(kù)的連接:
步驟:
為了節(jié)省系統(tǒng)資源提高系統(tǒng)性能,最好使用完數(shù)據(jù)庫(kù)就關(guān)閉連接,在C#語(yǔ)言中由于GC(垃圾回收機(jī)制)的存在,會(huì)在以后的某個(gè)時(shí)刻釋放資源,它是非決定性的,并不能確定這個(gè)過(guò)程在什么時(shí)候發(fā)生,當(dāng)忘記關(guān)閉數(shù)據(jù)庫(kù)是可以u(píng)sing語(yǔ)句確保對(duì)象退出時(shí)立即被釋放,從而達(dá)到關(guān)閉數(shù)據(jù)庫(kù)的作用,還有一種通過(guò)try..catch..final..
語(yǔ)句控制連接數(shù)據(jù)庫(kù)的關(guān)閉來(lái)提高性能
代碼實(shí)現(xiàn)如下:
using System;using System.Data.SqlClient; //引入命名空間namespace Csharpone{ class Program { static void Main(string[] args) { //windows 身份信息驗(yàn)證 下面的csharp01為新建的數(shù)據(jù)庫(kù)名稱(chēng) string constr = "Server.;integrated security=SSPI;Initial Catalog=csharp01"; SqlConnection mysqlCon = new SqlConnection(constr); //實(shí)例化 mysqlCon.Open(); //打開(kāi)數(shù)據(jù)庫(kù) Console.WriteLine("數(shù)據(jù)庫(kù)打開(kāi)"); //正常打印說(shuō)明沒(méi)問(wèn)題,否則會(huì)拋出異常 //SQ驗(yàn)證方式 name是你設(shè)置的數(shù)據(jù)庫(kù)的用戶(hù)名,pwd是密碼 csharp02是數(shù)據(jù)庫(kù)名稱(chēng) string constr1 = "Server.;user=name; pwd=mima; database=csharp02"; SqlConnection mysqlCon1 = new SqlConnection(constr1); //實(shí)例化 mysqlCon1.Open(); //打開(kāi)數(shù)據(jù)庫(kù) Console.WriteLine("SQL方式 數(shù)據(jù)庫(kù)打開(kāi)"); /*通過(guò)using語(yǔ)句實(shí)現(xiàn)數(shù)據(jù)庫(kù)的關(guān)閉 using (mysqlCon1) { mysqlCon1.Open(); Console.WriteLine("數(shù)據(jù)成功打開(kāi)"); //執(zhí)行完立即關(guān)閉 } //通過(guò)try..catch..finally.. try { mysqlCon.Open(); Console.WriteLine("數(shù)據(jù)庫(kù)關(guān)閉"); } catch { } finally { mysqlCon.Close(); Console.WriteLine("關(guān)閉數(shù)據(jù)庫(kù)"); }*///以上兩種方式結(jié)合使用,確保數(shù)據(jù)庫(kù)占用資源得到釋放 try { using (mysqlCon) { mysqlCon.Open(); Console.WriteLine("打開(kāi)數(shù)據(jù)庫(kù)"); } } catch { } finally { mysqlCon.Close(); Console.WriteLine("關(guān)閉數(shù)據(jù)庫(kù)"); } Console.Read(); } }}
MySQL數(shù)據(jù)庫(kù)代碼如下:
using System;using MySql.Data.MySqlClient; //導(dǎo)入引用,并且添加命名空間namespace CSharp連接Mysql{ class Program { static void Main(string[] args) { string connectStr = "server=localhost;port=3306;database=czhenya01;user=root;password=123456;"; //并沒(méi)有建立數(shù)據(jù)庫(kù)連接 MySqlConnection conn = new MySqlConnection(connectStr); try { conn.Open(); //建立連接,打開(kāi)數(shù)據(jù)庫(kù) Console.WriteLine("打開(kāi)數(shù)據(jù)庫(kù)成功"); }catch (Exception ex) { Console.WriteLine(ex.ToString()); } finally { conn.Close(); //關(guān)閉連接 } Console.ReadKey(); } }}
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)VEVB武林網(wǎng)的支持。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注