溫馨提示×

溫馨提示×

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

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

C#中怎么實現(xiàn)一個數(shù)據(jù)庫操作類

發(fā)布時間:2021-07-08 14:17:02 來源:億速云 閱讀:102 作者:Leah 欄目:編程語言

這期內(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è)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(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)容。

AI