版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C#實(shí)例一登錄系統(tǒng)的數(shù)據(jù)庫(kù)操作標(biāo)簽:數(shù)據(jù)庫(kù)/c#/sql/textbox/user/object7700在項(xiàng)目中,我們通常會(huì)將數(shù)據(jù)庫(kù)操作單獨(dú)提出來(lái),封裝成為一個(gè)類,在需要調(diào)用的時(shí)候,直接使用該類的相關(guān)操作函數(shù),這樣減少代碼的重復(fù)量,也便于程序員模塊化構(gòu)建和風(fēng)格化的閱讀。這里,通過(guò)一個(gè)登錄對(duì)話框的實(shí)例來(lái)說(shuō)明數(shù)據(jù)庫(kù)操作封裝的過(guò)程。相關(guān)代碼可以在項(xiàng)目中直接使用。首先,創(chuàng)建一個(gè)窗口項(xiàng)目,并將控件拖到窗口上創(chuàng)建如下窗口元素:沖出 -9X一于劃出哥鼎呼 」 .國(guó) 再薦七彘七而二金;一杖豺廣通的整曲舁5卷政I3中用于彼4克螃卑」申克格而號(hào)鉆*前由再添加一個(gè)窗口form2,如下:
文件?編輯?視圖(V)項(xiàng)目(U,生成㈤調(diào)試?塞&]文件?編輯?視圖(V)項(xiàng)目(U,生成㈤調(diào)試?塞&]界小值解晅項(xiàng)江可球慎命那瓦哂賺與由歐翔.FotbZ.cs[設(shè)計(jì)]起始頁(yè)丫FwmJ.I[諼訐jlaLelS:您已經(jīng)登陸在SQL2008數(shù)據(jù)庫(kù)中建立數(shù)據(jù)庫(kù)testDB,在該數(shù)據(jù)庫(kù)下創(chuàng)建表TB_Login,相關(guān)字段信息如下:其中ID字段的數(shù)據(jù)類型下,設(shè)置為自動(dòng)更新項(xiàng),方法是打開該列屬性下的標(biāo)示規(guī)范,選擇是增量選1。如圖:產(chǎn)吧■一1茹,曄'"于陋售式£IJ川K產(chǎn)吧■一1茹,曄'"于陋售式£IJ川K£U日■毋ihrf*工[Jfaupr?pF”加皿'J、皿||Lilltfr*-1,如fi?關(guān)系的&困3蜀科
r'+7diG^IL
t>O*\TiSFUli+J±-:-t由njLoy由*5-3-i-trs[“LnkI-J=f?4lfH-h3古如A._i匕也、一例璃51甲殿-?復(fù)惻;二叱叫無(wú)住癡W我們實(shí)現(xiàn)的目標(biāo)是,程序運(yùn)行forml窗口,顯示登錄窗口,用戶輸入用戶名和密碼,如果與數(shù)據(jù)庫(kù)中的對(duì)應(yīng)字段相匹配,那么就顯示form2,并在form2中顯示相應(yīng)的用戶+“您已經(jīng)成功登錄!”。一,首先添加數(shù)據(jù)庫(kù)操作類在右邊的解決方案資源管理器中,右鍵點(diǎn)擊項(xiàng)目名稱Login,選擇“添加…”選擇添加類,在彈出的對(duì)話框中,輸入該類的名稱:Cls_DataOp.cs。由福G2件04匐WNil. 中氏如曲山川購(gòu)膈地】「具TLW3&J訝_,個(gè)曲如行詢It段戲。試 。 宗制三序”施「琳£不捻元*一由福G2件04匐WNil. 中氏如曲山川購(gòu)膈地】「具TLW3&J訝_,個(gè)曲如行詢It段戲。試 。 宗制三序”施「琳£不捻元*一磁.日理出,孟回謁》方iioi-,陽(yáng)祥】超麗rilA■函計(jì)】」1X12正期浜僵J宣市名嘮3唯色目宴J正LeIeh將廝再用中打開支州英Qj酒交卸新如…潛aim■r引用b&.歐和IH蒯嗎俎?設(shè)十日油幻日,口調(diào)由學(xué):1辦理篇wJ修司曲益?j到建文作其皿"1m以g£ElthEi日用尸捏件?.出爆加贄->美心01口W口、 Ii-r■nxiftTiru?lStNidiQ雙擊創(chuàng)建的類Cls_DataOp.cs,開始創(chuàng)建代碼。首先加入兩個(gè)數(shù)據(jù)庫(kù)操作支持類庫(kù):usingSystem.Data.SqlClient;usingSystem.Data;應(yīng)為數(shù)據(jù)庫(kù)連接字符串我們要在所有函數(shù)中都要調(diào)用,所以作為全局變量來(lái)聲明:stringstr_conn=@"DataSource=(local)/SQLEXPRESS;IntegratedSecurity=SSPI;InitialCatalog=testDB;SqlConnectionconn;首先編寫數(shù)據(jù)庫(kù)連接函數(shù):#region///<summary>///打開數(shù)據(jù)庫(kù)連接///</summary>publicvoidSQL_conn()(try(conn=newSqlConnection(str_conn);conn.Open();)catch(throw;))#endregion數(shù)據(jù)庫(kù)操作一般有三種方式,一種是查詢出某一個(gè)字段的值,一種是查詢出結(jié)果是一個(gè)數(shù)據(jù)表,最后就是查詢出數(shù)據(jù)數(shù)量。分別根據(jù)這三個(gè)目的,創(chuàng)建相應(yīng)的函數(shù)。一,獲得查詢到數(shù)據(jù)的第一行第一列數(shù)據(jù)內(nèi)容#region///<summary>///獲得查詢到數(shù)據(jù)的第一行第一列數(shù)據(jù)內(nèi)容///</summary>///<paramname="str_sql”></param>publicobjectSQL_GetWord(stringstr_sql)(try(SQL_conn();SqlCommandSQL_comd=newSqlCommand(str_sql,conn);returnSQL_comd.ExecuteScalar();)catch(throw;)finally{conn.Close();})#endregion二,獲得查詢到數(shù)據(jù)的數(shù)據(jù)表#region///<summary>///獲得查詢到數(shù)據(jù)的數(shù)據(jù)表///</summary>///<paramname="str_sql”></param>///<returns></returns>publicDataTableSQL_GetTable(stringstr_sql)(try(SQL_conn();SqlCommandSQL_comd=newSqlCommand(str_sql,conn);SqlDataAdapterSQL_adp=newSqlDataAdapter(SQL_comd);DataSetds=newDataSet();SQL_adp.Fill(ds);returnds.Tables[0];)catch{throw;}finally{conn.Close();}}#endregion三,獲得查詢結(jié)果的數(shù)量#region///<summary>///獲得查詢結(jié)果的數(shù)量///</summary>///<paramname="str_sql”></param>///<returns></returns>publicintSQL_GetCount(stringstr_sql){try{SQL_conn();SqlCommandSQL_comd=newSqlCommand(str_sql,conn);returnSQL_comd.ExecuteNonQuery();}catch{throw;}finally{conn.Close();}}#endregion數(shù)據(jù)庫(kù)操作類的所有成員創(chuàng)建完了,然后開始給Forml的登錄按鈕和取消按鈕創(chuàng)建事件。首先創(chuàng)建“取消”按鈕事件。雙擊“取消”按鈕控件,創(chuàng)建該控件的Click事件,代碼如下:privatevoidbutton2_Click(objectsender,EventArgse)(this.Close();〃關(guān)閉窗口)雙擊“登錄”按鈕,添加Click事件,代碼如下:privatevoidbutton1_Click(objectsender,EventArgse)(〃數(shù)據(jù)庫(kù)操作Cls_DataOpDoper=newCls_DataOp();objectpwd=Doper.SQL_GetWord("selectuser_pwdfromTB_Login");objectname=Doper.SQL_GetWord("selectuser_namefromTB_Login");〃判斷用戶名是否為空if(textBox1.Text==""){MessageBox.Show("用戶名文本框?yàn)榭眨?);return;}else{〃判斷數(shù)據(jù)庫(kù)中user_name字段是否為空if(name==null){MessageBox.Show("數(shù)據(jù)庫(kù)中user_name字段為空!");return;}else{〃判斷用戶名是否與數(shù)據(jù)庫(kù)中的user_name字段內(nèi)容相等if(textBox1.Text==name.ToString().Trim()){MessageBox.Show("用戶名確認(rèn)正確!”);〃判斷密碼框是否為空if(textBox2.Text==""){MessageBox.Show("密碼文本框?yàn)榭眨?);return;}else{〃判斷數(shù)據(jù)庫(kù)中密碼字段是否為空if(pwd==null){MessageBox.Show("數(shù)據(jù)庫(kù)中user_pwd字段為空");return;else(〃判斷密碼框與數(shù)據(jù)庫(kù)中密碼字段是否相等if(textBox2.Text==pwd.ToString().Trim())(MessageBox.Show("密碼已經(jīng)確認(rèn)!”);〃用戶名確認(rèn),密碼確認(rèn)相等后,執(zhí)行下面操作:打開form2窗口,并將用戶名賦值給全局變量user_name.user_name=textBox1.Text.Trim();Form2frm2=newForm2();frm2.Show();this.Hide();return;)else(MessageBox.Show("密碼錯(cuò)誤,輸入的密碼與數(shù)據(jù)庫(kù)里user_pwd字段內(nèi)容不匹配!”);return;))))else(MessageBox.Show("用戶名錯(cuò)誤,輸入的用戶名與數(shù)據(jù)庫(kù)里user_name字段內(nèi)容不匹配!”);return;))))這里定義一個(gè)全局變量作為參數(shù)傳遞。publicstaticstringuser_name="";然后再form2窗口中,雙擊窗口,添加如下代碼:privatevoidForm2_Load(objectsender,EventArgse)(label2.Text=Form1.user_name;)此時(shí)運(yùn)行程序如圖:該實(shí)例完成。h>tan111;i VixiimISttuttnIxro?oflSOLServer-mwccMStiitli<>Fapresis又傳0濱修如或超瞥表喉法HSIMD*QQ)血94期如,祈?L_ J》'」”。.,,一喧戶“2」?Y祭堂的圖與…H。2站即欠3門乃13UIFB1SS?16克市?,JRI函%工B<?k?J9i?3Qf:nc4r"tmg.2S0001V38兒咨 期嘉片出
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)管理服務(wù)咨詢服務(wù)簡(jiǎn)單合同
- 沖孔灌注樁施工勞務(wù)分包合同
- 三方合同補(bǔ)充協(xié)議書
- 資產(chǎn)買賣合同
- 給水、污水泵設(shè)備安裝合同
- 地毯購(gòu)銷合同范本地毯購(gòu)銷合同
- 在線教育系統(tǒng)共建共享合同
- 產(chǎn)品銷售合同范本集錦
- 醫(yī)療器械銷售合同簡(jiǎn)易模板
- 社區(qū)團(tuán)購(gòu)平臺(tái)搭建及運(yùn)營(yíng)合同
- 蘇州市區(qū)2024-2025學(xué)年五年級(jí)上學(xué)期數(shù)學(xué)期末試題一(有答案)
- 醫(yī)藥高等數(shù)學(xué)知到智慧樹章節(jié)測(cè)試課后答案2024年秋浙江中醫(yī)藥大學(xué)
- 2024年濰坊工程職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)完美版
- GB/T 44823-2024綠色礦山評(píng)價(jià)通則
- 人教版英語(yǔ)高考試卷與參考答案(2024年)
- 紅樓夢(mèng)服飾文化
- 《共情的力量》課件
- 2022年中國(guó)電信維護(hù)崗位認(rèn)證動(dòng)力專業(yè)考試題庫(kù)大全-上(單選、多選題)
- 水平二(四年級(jí)第一學(xué)期)體育《小足球(18課時(shí))》大單元教學(xué)計(jì)劃
- 《關(guān)于時(shí)間管理》課件
- 醫(yī)藥高等數(shù)學(xué)智慧樹知到課后章節(jié)答案2023年下浙江中醫(yī)藥大學(xué)
評(píng)論
0/150
提交評(píng)論