您好,登錄后才能下訂單哦!
這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)C#中怎么實現(xiàn)一個數(shù)據(jù)庫操作類,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
C#數(shù)據(jù)庫操作類主要包括兩類方法:一類用來直接執(zhí)行SQL語句,另一類用來執(zhí)行存儲過程。
其中的數(shù)據(jù)庫連接字符串的數(shù)據(jù)庫路徑采用了絕對路徑,讀者調(diào)試程序時應當做相應的更改。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ù)連接組件實例化 publicSqlCommandcommand=newSqlCommand();//初始化一個SQL命令對象 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ù)信息的提取,返回一個datareader publicSqlDataReaderGetReader(stringsearch) { SqlDataReaderReader; if(Con.State!=ConnectionState.Open) Con.Open();//打開數(shù)據(jù)庫連接 SqlCommandCom=newSqlCommand(search,Con); Reader=Com.ExecuteReader();//執(zhí)行SQL語句 returnReader;//返回一個reader } //輸入查詢字符串,返回dataset publicDataSetgetMyDataSet(stringsql) { command.Connection=Con;//配置command對象 command.CommandText=sql;//賦予要執(zhí)行的語句 DataSetdt=newDataSet();//初始化一個數(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í)行存儲過程的代碼 //輸入存儲過程名稱,執(zhí)行查詢存儲過程 publicDataSetgetDataSet(stringprodureName) { command.Connection=Con;//賦予連接對象 //執(zhí)行的類型為存儲過程 command.CommandType=CommandType.StoredProcedure; command.CommandText=produreName;//賦予執(zhí)行的存儲過程名字 DataSetdt=newDataSet(); SqlDataAdapterda=newSqlDataAdapter(command); Con.Open();//打開連接 da.Fill(dt);//填充數(shù)據(jù) command.Connection.Close(); returndt;//返回數(shù)據(jù)集 } //輸入存儲過程名,執(zhí)行非查詢存儲過程 publicboolexec(stringprodureName) { boolflag=false;//任務(wù)是否正確執(zhí)行,初始化為false command.Connection=Con;//賦予command對象以數(shù)據(jù)連接 command.CommandType=CommandType.StoredProcedure; command.CommandText=produreName;//存儲過程名稱 try { command.ExecuteNonQuery();//執(zhí)行存儲過程 flag=true;//正確完成任務(wù) } finally { command.Connection.Close();//關(guān)閉連接 } returnflag;//返回成功與否的標志 } #endregion } }
上述就是小編為大家分享的C#中怎么實現(xiàn)一個數(shù)據(jù)庫操作類了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。