這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)C#中怎么實(shí)現(xiàn)一個(gè)數(shù)據(jù)庫操作類,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
創(chuàng)新互聯(lián)主要從事成都做網(wǎng)站、成都網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)工布江達(dá),10多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220
C#數(shù)據(jù)庫操作類主要包括兩類方法:一類用來直接執(zhí)行SQL語句,另一類用來執(zhí)行存儲(chǔ)過程。
其中的數(shù)據(jù)庫連接字符串的數(shù)據(jù)庫路徑采用了絕對(duì)路徑,讀者調(diào)試程序時(shí)應(yīng)當(dāng)做相應(yīng)的更改。C#數(shù)據(jù)庫操作類具體代碼如下:
usingSystem; usingSystem.Collections.Generic; usingSystem.Text; usingSystem.Data.SqlClient; usingSystem.Data; namespaceMyChat { //數(shù)據(jù)庫操作類 publicclassSql { privatestringstr=null;//數(shù)據(jù)庫連接字符串 publicSqlConnectionCon;//sql數(shù)據(jù)連接組件實(shí)例化 publicSqlCommandcommand=newSqlCommand();//初始化一個(gè)SQL命令對(duì)象 publicSql()//類初始化,初始化數(shù)據(jù)連接 { stringpath=@"C:\DocumentsandSettings\Administrator\桌面\tools\ mychat1.0\Chat"; //數(shù)據(jù)庫連接字符串 str="DataSource=.\\SQLEXPRESS;AttachDbFilename=\""+path+"\\app_data\\chat.mdf\"; IntegratedSecurity=True;UserInstance=True"; Con=newSqlConnection(str); } #regionSQL語句操作 //執(zhí)行只讀數(shù)據(jù)信息的提取,返回一個(gè)datareader publicSqlDataReaderGetReader(stringsearch) { SqlDataReaderReader; if(Con.State!=ConnectionState.Open) Con.Open();//打開數(shù)據(jù)庫連接 SqlCommandCom=newSqlCommand(search,Con); Reader=Com.ExecuteReader();//執(zhí)行SQL語句 returnReader;//返回一個(gè)reader } //輸入查詢字符串,返回dataset publicDataSetgetMyDataSet(stringsql) { command.Connection=Con;//配置command對(duì)象 command.CommandText=sql;//賦予要執(zhí)行的語句 DataSetdt=newDataSet();//初始化一個(gè)數(shù)據(jù)返回集合 SqlDataAdapterda=newSqlDataAdapter(command); Con.Open();//打開連接 da.Fill(dt);//執(zhí)行語句 command.Connection.Close();//關(guān)閉連接 returndt; } //執(zhí)行非查詢SQL語句 publicvoidExecuteSql(stringsql) { if(Con.State!=ConnectionState.Open) Con.Open();//如果數(shù)據(jù)連接關(guān)閉,則打開 SqlCommandCom=newSqlCommand(sql,Con); Com.ExecuteNonQuery();//執(zhí)行非查詢SQL語句 Con.Close(); } //執(zhí)行非查詢數(shù)據(jù)庫操作,是否關(guān)閉數(shù)據(jù)庫連接可以選擇 publicvoidExecuteSql(stringsql,boolcloseConnection) { if(Con.State!=ConnectionState.Open) Con.Open();//如果未打開連接,則打開 SqlCommandCom=newSqlCommand(sql,Con); Com.ExecuteNonQuery(); if(closeConnection)Con.Close();//如果需要關(guān)閉,則關(guān)閉連接 } #endregion #region執(zhí)行存儲(chǔ)過程的代碼 //輸入存儲(chǔ)過程名稱,執(zhí)行查詢存儲(chǔ)過程 publicDataSetgetDataSet(stringprodureName) { command.Connection=Con;//賦予連接對(duì)象 //執(zhí)行的類型為存儲(chǔ)過程 command.CommandType=CommandType.StoredProcedure; command.CommandText=produreName;//賦予執(zhí)行的存儲(chǔ)過程名字 DataSetdt=newDataSet(); SqlDataAdapterda=newSqlDataAdapter(command); Con.Open();//打開連接 da.Fill(dt);//填充數(shù)據(jù) command.Connection.Close(); returndt;//返回?cái)?shù)據(jù)集 } //輸入存儲(chǔ)過程名,執(zhí)行非查詢存儲(chǔ)過程 publicboolexec(stringprodureName) { boolflag=false;//任務(wù)是否正確執(zhí)行,初始化為false command.Connection=Con;//賦予command對(duì)象以數(shù)據(jù)連接 command.CommandType=CommandType.StoredProcedure; command.CommandText=produreName;//存儲(chǔ)過程名稱 try { command.ExecuteNonQuery();//執(zhí)行存儲(chǔ)過程 flag=true;//正確完成任務(wù) } finally { command.Connection.Close();//關(guān)閉連接 } returnflag;//返回成功與否的標(biāo)志 } #endregion } }
上述就是小編為大家分享的C#中怎么實(shí)現(xiàn)一個(gè)數(shù)據(jù)庫操作類了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。