《數(shù)據(jù)庫概論》課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告書_第1頁
《數(shù)據(jù)庫概論》課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告書_第2頁
《數(shù)據(jù)庫概論》課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告書_第3頁
《數(shù)據(jù)庫概論》課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告書_第4頁
《數(shù)據(jù)庫概論》課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告書_第5頁
已閱讀5頁,還剩80頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

《數(shù)據(jù)庫概論》課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告書《數(shù)據(jù)庫系統(tǒng)概論》課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告書姓名專業(yè)班級學(xué)號指導(dǎo)教師分?jǐn)?shù)2017年6月5日緒論1.1概述1.1.1問題的提出在小超市的日常運(yùn)營中缺乏對員工及貨品的有效管理,收銀過程中的不方便和賬單的可靠性低是普遍問題,本課題是針對小超市的日常管理進(jìn)行系統(tǒng)化的設(shè)計(jì)以及實(shí)現(xiàn)來進(jìn)行的。1.1.2本課題的意義理論上可以有效地提高超市管理者的管理效率,有助于小型超市在當(dāng)代社會中具有一定的生存能力。本系統(tǒng)的具體可以對員工,商品,會員,供貨商的信息及各種交易的時(shí)間,數(shù)量,價(jià)格進(jìn)行有效管理的能力。1.2開發(fā)環(huán)境與工具介紹Oracle10g:Oracle10g是第一套具有無限伸縮性與高可用性,并可在集群環(huán)境中運(yùn)行上商業(yè)軟件的互聯(lián)網(wǎng)數(shù)據(jù)庫,具有400多個(gè)領(lǐng)先的數(shù)據(jù)庫功能,在集群技術(shù)、高可用性、商業(yè)智能、安全性、系統(tǒng)管理等方面都實(shí)現(xiàn)了新的突破。真正應(yīng)用集群技術(shù)能夠提供近乎無限的擴(kuò)充能力與整體可用性,為用戶帶來透明的、高速增長的集群功能。VS2015:window平臺圖形化界面開發(fā)工具,方便使用C#開發(fā)圖形界面。將數(shù)據(jù)庫操作結(jié)果直觀明了的展示給用戶。方便非計(jì)算機(jī)專業(yè)人員使用。1.2.1ADO.NET簡介 ADO.NET的名稱起源于ADO(ActiveXDataObjects),是一個(gè)COM組件庫,用于在以往的Microsoft技術(shù)中訪問數(shù)據(jù)。之所以使用ADO.NET名稱,是因?yàn)镸icrosoft希望表明,這是在NET編程環(huán)境中優(yōu)先使用的數(shù)據(jù)訪問接口。 可讓開發(fā)人員以一致的方式存取資料來源(例如

SQLServer

XML),以及透過

OLEDB

ODBC

所公開的資料來源。資料共用的消費(fèi)者應(yīng)用程序可使用來連接至這些資料來源,并且擷取、處理及更新其中所含的資料。1.2.2超市管理系統(tǒng)研究狀況能夠更好的促進(jìn)經(jīng)濟(jì)發(fā)展和交流。而隨著各種小超市的不斷興起,對倉庫,對商品的管理成為一個(gè)很重要的問題。隨著現(xiàn)代科技的發(fā)展,自動(dòng)化辦公逐漸進(jìn)入人們的日常生活,利用新時(shí)代計(jì)算機(jī)技術(shù),可以幫助我們更好地管理超市。2系統(tǒng)需求分析與設(shè)計(jì)2.1用戶需求分析2.1.1用戶需求 目前大多數(shù)小型超市都配有收銀系統(tǒng),但超市的管理上并沒有一個(gè)成型的系統(tǒng)來進(jìn)行管理,所以目前小型超市管理系統(tǒng)還是有一定的市場需求的。本系統(tǒng)的用戶為超市管理者,根據(jù)從超市方面取得的圖標(biāo)資料、文字資料以及其他細(xì)節(jié)方面的信息,得出用戶的下列實(shí)際要求:超市管理分為四部分:商品、客戶、員工和供應(yīng)商。同時(shí)根據(jù)交易可得出商品的入庫紀(jì)錄和銷售紀(jì)錄,從而得出庫存。管理員根據(jù)交易單可對超市倉庫中商品進(jìn)行增加和減少的操作,也可以根據(jù)超市對應(yīng)的客戶和供應(yīng)商的信息進(jìn)行修改和刪除等操作。2.1.2系統(tǒng)功能需求1.會員信息:會員編號、會員名稱、會員積分、聯(lián)系方式、客戶地址2.供應(yīng)商:供應(yīng)商編號、供應(yīng)商名稱、地址、聯(lián)系方式3.商品信息:商品編號、商品名稱、價(jià)格、庫存數(shù)量、供貨商編號4.入庫信息:入庫號、商品編號、數(shù)量、進(jìn)貨時(shí)間、進(jìn)貨單價(jià)、總價(jià)5.銷售信息:銷售號、商品編號、數(shù)量、銷售時(shí)間、總價(jià)管理員進(jìn)入系統(tǒng)可根據(jù)最近的的進(jìn)貨單號對數(shù)據(jù)庫信息進(jìn)行錄入,也可以對銷售單進(jìn)行錄入,并查看庫存。2.1.3系統(tǒng)性能需求 因?yàn)楸菊n題是針對小超市來進(jìn)行設(shè)計(jì)的,所以要做到事務(wù)的精細(xì)化管理,而且,根據(jù)小超市的日銷售額,并不需要好幾臺收銀機(jī)同時(shí)工作,所以不需要實(shí)現(xiàn)多線程來控制共享資源。2.2功能模塊圖及分模塊功能描述2.2.1系統(tǒng)的功能模塊圖 2.2.2系統(tǒng)功能模塊簡介 1.人事管理系統(tǒng):可以對超市員工進(jìn)行管理,分配權(quán)限,以及管理者的密碼管理;2.商品管理系統(tǒng):完善商品信息,對商品表進(jìn)行增加、修改、刪除的操作;eq\o\ac(○,1) 入庫信息管理:可以對商品進(jìn)行入庫操作,并自動(dòng)修改商品庫存;eq\o\ac(○,2) 商品信息管理:可以對商品的單價(jià),供貨商,庫存等進(jìn)行查詢;eq\o\ac(○,3) 日銷售額管理:根據(jù)這個(gè)模塊可以將每日的銷售情況反饋給超時(shí)的管理者;3.會員管理系統(tǒng):對會員用戶的購買積分,購買商品時(shí)間,數(shù)量進(jìn)行記錄及管理。2.3數(shù)據(jù)庫設(shè)計(jì)2.3.1系統(tǒng)E-R圖 2.3.2數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì) 用戶表:用戶編號,密碼,用戶類型,用戶名,性別,聯(lián)系方式會員表:會員號,會員積分,地址,注冊電話,注冊時(shí)間商品表:商品編號,商品名,商品價(jià)格,商品庫存,供貨商編號銷售表:銷售編號,商品編號,數(shù)量,總價(jià)格,銷售時(shí)間交易表:用戶編號,交易編號,交易時(shí)間,數(shù)量,總價(jià)格部門表:部門編號,部門名,所屬部門編號,部門類型入庫表:入庫編號,入庫時(shí)間,商品名,入庫數(shù)量,單價(jià),總價(jià)格供貨商表:供貨商編號,供貨商名,地址,聯(lián)系方式3系統(tǒng)實(shí)施3.1建立數(shù)據(jù)庫1.商品信息表createtablegoods(GNochar(6)primarykey,GNamevarchar(40)notnull,GPricenumber(8,2)notnull,GDanweivarchar(6)notnull,GKucunintnotnull,Gkuncun_dangerintnotnull,providerIDchar(4)notnull, //外鍵constraintfk_goods_providerforeignkey(providerid)referencesuserx(providerid));2.員工表createtableuserx(userNochar(4)primarykey,userNamevarchar(8)notnull,userPasswordvarchar(14),userStyleintnotnull, //外鍵userSexchar(2)notnull,userCellvarchar(11)notnull);//設(shè)置外鍵,并實(shí)現(xiàn)級聯(lián)刪除Altertableuserxaddconstraintfk_bm_userforeignkey(userstyle)referencesbm(jid)ondeletecascade;3.會員表createtablevip(VNochar(6)primarykey,VNamevarchar(8)notnull,VAdressvarchar(40)notnull,VJifennumber(8,2)default0,VTimedatenotnull,VCellvarchar(11)notnull);4.銷售記錄表createtablesale(SNochar(7)primarykey,GNochar(6)notnull,SCountintnotnull,SSumnumber(8,2)notnull,SDatedatenotnull);5.供貨商表createtableprovider(providerIDchar(4)primarykey,providerNamechar(40)notnull,providerADRESSchar(50),providerCELLvarchar(11),);6.入庫表createtableStock(StockNovarchar(14)primarykey,GNochar(6)notnull, //外鍵SGNumintnotnull,SGPricenumber(8,2)notnull,SGTotalnumber(10,2)notnull,StockDatedatenotnull);//添加外鍵約束Altertablestockaddconstraintfk_stock_goodsforeignkey(Gno)referencesgoods(Gno);7.交易表createtabledeal(DNochar(6)primarykey,DSumnumber(8,2)notnull,VNochar(6),DDatedatenotnull,userNochar(4)notnull, //外鍵constraintfk_deal_userxforeignkey(userNo)referencesuserx(userNo)ondeletecascade);8.部門表createtablebm(JIdintprimarykey,JNamevarchar(8)notnull,JParintnotnull,JProvarchar(4)notnull);3.2數(shù)據(jù)庫連接classOracleLJ{ //連接字符串publicstaticstringcstr="UserID=scott;Password=199510;DataSource=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=orcl)));"; //建立連接publicstaticOracleConnectionconn=newOracleConnection(cstr);}3.3主要模塊實(shí)施3.3.1登錄模塊的開發(fā) publicpartialclassForm1:Form{publicstaticstringsql="select*fromuserxwhereuserNo=:name";publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){label_message.Text="";try{OracleLJ.conn.Open();using(OracleCommandcmd=newOracleCommand(sql,OracleLJ.conn)){cmd.Parameters.Add(":name",textBox_name.Text.Trim());using(OracleDataReaderdr=cmd.ExecuteReader()){if(dr.HasRows){dr.Read();if(dr["userstyle"].ToString().Equals("6")||dr["userstyle"].ToString().Equals("7")||dr["userstyle"].ToString().Equals("8")){if(textBox_pw.Text.Trim().Equals(dr["userPassword"].ToString())){Formf=newsale(dr["userName"].ToString(),dr["userNo"].ToString(),Int32.Parse(dr["userstyle"].ToString()));OracleLJ.conn.Close();f.Owner=this;this.Hide();f.Show();}elselabel_message.Text="密碼錯(cuò)誤!";}elselabel_message.Text="用戶無權(quán)限!";}else{label_message.Text="用戶名不存在!";}}OracleLJ.conn.Close();}}catch(Exceptionex){label_message.Text="連接數(shù)據(jù)庫失敗!";}}privatevoidlinkLabel1_LinkClicked(objectsender,LinkLabelLinkClickedEventArgse){OracleLJ.conn.Open();OracleCommandcmd=newOracleCommand(sql,OracleLJ.conn);cmd.Parameters.Add(":name",textBox_name.Text.Trim());OracleDataReaderdr=cmd.ExecuteReader();if(dr.HasRows){dr.Read();if(dr["userstyle"].ToString().Equals("6")||dr["userstyle"].ToString().Equals("7")||dr["userstyle"].ToString().Equals("8")){Formpc=newpwdCH(textBox_name.Text);pc.Show();}else{label_message.Text="用戶無權(quán)限!";}}elselabel_message.Text="用戶名不存在!";OracleLJ.conn.Close();}}3.3.2 修改密碼功能模塊publicpartialclasspwdCH:Form{stringuser_id;publicpwdCH(stringo){user_id=o;InitializeComponent();}privatevoidbutton_ok_Click(objectsender,EventArgse){label_error.Text="";stringsql="select*fromuserxwhereuserNo="+user_id;try{OracleLJ.conn.Open();OracleCommandcmd=newOracleCommand(sql,OracleLJ.conn);OracleDataReaderdr=cmd.ExecuteReader();dr.Read();if(textBox_old.Text.Trim().Equals(dr["userPassword"].ToString())){if(textBox_new.Text.Trim().Equals(textBox_newch.Text.Trim())){cmd.CommandText="updateuserxsetuserpassword=:pwdwhereuserNo="+user_id;cmd.Parameters.Add(":pwd",textBox_newch.Text.Trim());cmd.ExecuteNonQuery();this.Close();MessageBox.Show("密碼已修改");}else{label_error0.Text="兩次密碼不一致";textBox_new.Clear();textBox_newch.Clear();}}else{label_error.Text="密碼不正確";textBox_old.Clear();}OracleLJ.conn.Close();}catch(Exceptionex){MessageBox.Show("密碼修改失敗:"+ex);}}}3.3.3 主界面及管理功能實(shí)現(xiàn)1.用戶登錄權(quán)限模塊 publicsale(stringusername,stringuserNo,ints){name=username;No=userNo;sign_style=s;InitializeComponent();}protectedoverridevoidOnClosing(CancelEventArgse){if(sign==0)Application.Exit();else{sign=0;}}privatevoidsale_Load(objectsender,EventArgse){label_clerkX.Text=name;label_clerkNOX.Text=No;if(sign_style==8){tabPage2.Parent=null;tabPage4.Parent=null;tabPage5.Parent=null;tabPage6.Parent=null;tabPage7.Parent=null;}elseif(sign_style==6){tabPage1.Parent=null;tabPage2.Parent=null;tabPage3.Parent=null;tabPage5.Parent=null;}Addparent();//給部門下拉框添加數(shù)據(jù)源stringselect_BMname="selectjnamefrombmwherejpro='部門'";using(OracleConnectionconn=newOracleConnection(OracleLJ.cstr)){conn.Open();OracleDataAdapterda=newOracleDataAdapter(select_BMname,OracleLJ.conn);DataSetds=newDataSet();da.Fill(ds);comboBox_bm.DisplayMember="jname";comboBox_bm.DataSource=ds.Tables[0];comboBox_bm.SelectedIndex=-1;}}2.收銀界面功能模塊privatevoidbutton1_Click(objectsender,EventArgse){if(dataGridView1.Rows.Count>0){//更新會員表doubled=Double.Parse(label_total.Text)/100.00;stringsql_upVip="updatevipsetvjifen=vjifen+"+d+"wherevno='"+textBox_no.Text.Trim()+"'";stringsql_inSale="insertintosale(GNo,SCount,SSum,SDate)values(:GNo,:SCount,:SSum,to_date(:SDate,'YYYY-MM-DD'))";stringsql_selectSale="select*fromsalewhereGNo=:SGNoandSDate=to_date(:SSDate,'YYYY-MM-DD')";OracleLJ.conn.Open();OracleCommandcmd=newOracleCommand();cmd.Connection=OracleLJ.conn;if(textBox_no.Text!=""){cmd.CommandText=sql_upVip;cmd.ExecuteNonQuery();}//更新銷售表for(inti=0;i<dataGridView1.Rows.Count;i++){cmd.CommandText=sql_selectSale;cmd.Parameters.Add(":SGNo",dataGridView1.Rows[i].Cells[0].Value);cmd.Parameters.Add(":SSDate",DateTime.Now.ToString("yyyy-MM-dd"));OracleDataReaderdr=cmd.ExecuteReader();cmd.Parameters.Clear();if(dr.HasRows){cmd.CommandText="updatesalesetSCount=SCount+:count,SSum=SSum+:pricewhereGNo=:GNoandSDate=to_date(:USDate,'YYYY-MM-DD')";cmd.Parameters.Add(":count",dataGridView1.Rows[i].Cells[3].Value);cmd.Parameters.Add(":price",dataGridView1.Rows[i].Cells[2].Value);cmd.Parameters.Add(":USDate",DateTime.Now.ToString("yyyy-MM-dd"));cmd.Parameters.Add(":GNo",dataGridView1.Rows[i].Cells[0].Value);cmd.ExecuteNonQuery();cmd.Parameters.Clear();}else{cmd.CommandText=sql_inSale;cmd.Parameters.Add(":GNo",dataGridView1.Rows[i].Cells[0].Value);cmd.Parameters.Add(":SCount",dataGridView1.Rows[i].Cells[3].Value);cmd.Parameters.Add(":SSum",dataGridView1.Rows[i].Cells[2].Value);cmd.Parameters.Add(":SDate",DateTime.Now.ToString("yyyy-MM-dd"));cmd.ExecuteNonQuery();cmd.Parameters.Clear();}//在此處加一條處理,即將good表中的庫存減少cmd.CommandText="updategoodssetgkucun=gkucun-"+dataGridView1.Rows[i].Cells[3].Value+"whereGNo='"+dataGridView1.Rows[i].Cells[0].Value+"'";cmd.ExecuteNonQuery();}//添加一條到交易表cmd.CommandText="insertintodeal(DSum,VNo,DDate,userNo)values(:DSum,:VNo,to_date(:DDate,'YYYY-MM-DD'),:userNo)";cmd.Parameters.Add(":DSum",label_total.Text);cmd.Parameters.Add(":VNo",textBox_no.Text);cmd.Parameters.Add(":DDate",DateTime.Now.ToString("yyyy-MM-dd"));cmd.Parameters.Add(":userNo",label_clerkNOX.Text);cmd.ExecuteNonQuery();cmd.Parameters.Clear();//把上一次執(zhí)行的參數(shù)清掉totalP=0;totalC=0;textBox_no.Clear();dataGridView1.Rows.Clear();label_total.Text="0";label_totalC.Text="0";label_nameX.Text="";label_jifenX.Text="";textBox_luru.Clear();textBox_count.Text="1";OracleLJ.conn.Close();}else{MessageBox.Show("未添加商品!");}}privatevoidtextBox_count_KeyUp(objectsender,KeyEventArgse){stringsql="select*fromgoodswheregno='"+textBox_luru.Text.Trim()+"'";if(e.KeyCode==Keys.Enter){try{OracleLJ.conn.Open();using(OracleCommandcmd=newOracleCommand(sql,OracleLJ.conn)){OracleDataReaderdr=cmd.ExecuteReader();if(dr.HasRows){dr.Read();DataGridViewRowdv=newDataGridViewRow();intcount=Int32.Parse(textBox_count.Text);totalC+=count;intindex=dataGridView1.Rows.Add(dv);dataGridView1.Rows[index].Cells[0].Value=dr["gno"].ToString();dataGridView1.Rows[index].Cells[1].Value=dr["gname"].ToString();dataGridView1.Rows[index].Cells[2].Value=count*Double.Parse(dr["gprice"].ToString());dataGridView1.Rows[index].Cells[3].Value=textBox_count.Text;totalP+=count*Double.Parse(dr["gprice"].ToString());label_total.Text=totalP.ToString();label_totalC.Text=totalC.ToString();}elseMessageBox.Show("數(shù)據(jù)庫中無此商品");}}catch(Exceptionex){MessageBox.Show("結(jié)賬失?。?);}}OracleLJ.conn.Close();}privatevoidtextBox_luru_KeyUp(objectsender,KeyEventArgse){textBox_count_KeyUp(sender,e);}privatevoidtextBox_no_KeyUp(objectsender,KeyEventArgse){stringsql="select*fromvipwherevno='"+textBox_no.Text.Trim()+"'";if(textBox_no.Text==""){MessageBox.Show("請先輸入編號!");}else{try{if(e.KeyCode==Keys.Enter){OracleLJ.conn.Open();using(OracleCommandcmd=newOracleCommand(sql,OracleLJ.conn)){OracleDataReaderdr=cmd.ExecuteReader();dr.Read();label_nameX.Text=dr["vname"].ToString();label_jifenX.Text=dr["vjifen"].ToString();}}OracleLJ.conn.Close();}catch(InvalidOperationExceptionex){MessageBox.Show("查無此人!");}catch(Exceptionex){MessageBox.Show("查詢出錯(cuò)!");}}}privatevoidlinkLabel1_LinkClicked(objectsender,LinkLabelLinkClickedEventArgse){sign=1;this.Owner.Show();this.Close();}3.會員界面功能模塊 privatevoidbutton_zhuce_Click(objectsender,EventArgse){stringsql_insert="insertintovip(vname,vadress,vtime,vcell)values(:vname,:vadress,to_date(:vdate,'YYYY-MM-DD'),:vcell)";try{OracleLJ.conn.Open();OracleCommandcmd=newOracleCommand(sql_insert,OracleLJ.conn);cmd.Parameters.Add(":vname",textBox_Zname.Text.Trim());cmd.Parameters.Add(":vadress",textBox_Zadress.Text.Trim());cmd.Parameters.Add(":vdate",DateTime.Now.ToString("yyyy-MM-dd"));cmd.Parameters.Add(":vcell",textBox_Zcell.Text.Trim());cmd.ExecuteNonQuery();MessageBox.Show("注冊成功!");textBox_Zname.Text="";textBox_Zadress.Text="";textBox_Zcell.Text="";OracleLJ.conn.Close();}catch(Exceptionex){MessageBox.Show("注冊失??!");}}privatevoidbutton_select_Click(objectsender,EventArgse){stringsql_select=String.Format("select*fromvipwhere1=1");try{OracleLJ.conn.Open();DataSetds=newDataSet();if(textBox_Svno.Text!="")sql_select+=String.Format("andvnolike'%{0}%'",textBox_Svno.Text.Trim());if(textBox_Svname.Text!="")sql_select+=String.Format("andvnamelikeN'%{0}%'",textBox_Svname.Text.Trim());if(textBox_Svcell.Text!="")sql_select+=String.Format("andvcelllike'%{0}%'",textBox_Svcell.Text.Trim());if(textBox_Svadress.Text!="")sql_select+=String.Format("andvadresslikeN'%{0}%'",textBox_Svadress.Text.Trim());OracleDataAdapterda=newOracleDataAdapter(sql_select,OracleLJ.conn);da.Fill(ds);if(ds.Tables[0].Rows.Count==0){dataGridView2.DataSource=null;MessageBox.Show("查無此人!");}else{dataGridView2.DataSource=ds.Tables[0];dataGridView2.Columns[0].HeaderText="編號";dataGridView2.Columns[0].ReadOnly=true;dataGridView2.Columns[1].HeaderText="姓名";dataGridView2.Columns[2].HeaderText="地址";dataGridView2.Columns[3].HeaderText="積分";dataGridView2.Columns[4].HeaderText="注冊時(shí)間";dataGridView2.Columns[5].HeaderText="聯(lián)系方式";}OracleLJ.conn.Close();}catch(Exceptionex){MessageBox.Show("查詢失敗:"+ex);}}privatevoidbutton_update_Click(objectsender,EventArgse){stringsql_update="updatevipset"+dataGridView2.CurrentCell.OwningColumn.Name+"=:namewherevno=:vno";OracleLJ.conn.Open();OracleCommandcmd=newOracleCommand(sql_update,OracleLJ.conn);//MessageBox.Show();cmd.Parameters.Add(":name",dataGridView2.CurrentCell.Value);cmd.Parameters.Add(":vno",dataGridView2.CurrentRow.Cells[0].Value);cmd.ExecuteNonQuery();OracleLJ.conn.Close();}privatevoidbutton_del_Click(objectsender,EventArgse){stringsql_del="deletefromvipwherevno=:vno";try{OracleLJ.conn.Open();OracleCommandcmd=newOracleCommand();cmd.Connection=OracleLJ.conn;if(dataGridView2.SelectedRows.Count==0)MessageBox.Show("未選中行");elsefor(inti=dataGridView2.SelectedRows.Count;i>0;i--){cmd.Parameters.Add(":vno",dataGridView2.SelectedRows[i-1].Cells[0].Value);cmd.CommandText=sql_del;cmd.ExecuteNonQuery();dataGridView2.Rows.RemoveAt(dataGridView2.SelectedRows[i-1].Index);cmd.Parameters.Clear();}OracleLJ.conn.Close();}catch(Exceptionex){MessageBox.Show("刪除失敗");}}4.員工管理界面功能模塊publicvoidAddparent(){treeView1.Nodes.Clear();stringsql_selectBM="select*frombmwherejid=1";using(OracleConnectionconn=newOracleConnection(OracleLJ.cstr)){OracleCommandcmd=newOracleCommand(sql_selectBM,conn);conn.Open();OracleDataReaderdr=cmd.ExecuteReader();while(dr.Read()){TreeNodetr=newTreeNode();tr.ContextMenuStrip=Add_bm;tr.Text=dr["jname"].ToString();tr.Tag=dr["jid"].ToString();Addchild(tr.Tag.ToString(),tr);treeView1.Nodes.Add(tr);}}treeView1.ExpandAll();}publicvoidAddchild(stringPid,TreeNodePnode){stringsql_selectBM_child="select*frombmwherejpar="+Pid;using(OracleConnectionconn=newOracleConnection(OracleLJ.cstr)){OracleCommandcmd=newOracleCommand(sql_selectBM_child,conn);conn.Open();OracleDataReaderdr=cmd.ExecuteReader();while(dr.Read()){TreeNodetr=newTreeNode();if(Int32.Parse(Pid)==1)tr.ContextMenuStrip=Add_zu;elsetr.ContextMenuStrip=Add_person;tr.Text=dr["jname"].ToString();tr.Tag=dr["jid"].ToString();Addchild(tr.Tag.ToString(),tr);Pnode.Nodes.Add(tr);}}}privatevoidtreeView1_AfterSelect(objectsender,TreeViewEventArgse){stringsql_bm_select="selectuserx.userno,userx.username,userx.usersex,userpassword,bm.jname,usercellfromuserx,bmwherebm.jid="+treeView1.SelectedNode.Tag.ToString()+"anduserx.userstyle=bm.jid";try{OracleLJ.conn.Open();DataSetds=newDataSet();OracleDataAdapterda=newOracleDataAdapter(sql_bm_select,OracleLJ.conn);da.Fill(ds);dataGridView_clerk.DataSource=ds.Tables[0];dataGridView_clerk.Columns[0].HeaderText="職工號";dataGridView_clerk.Columns[0].ReadOnly=true;dataGridView_clerk.Columns[1].HeaderText="姓名";dataGridView_clerk.Columns[2].HeaderText="性別";dataGridView_clerk.Columns[3].HeaderText="密碼";dataGridView_clerk.Columns[4].HeaderText="所屬部門";dataGridView_clerk.Columns[5].HeaderText="聯(lián)系方式";OracleLJ.conn.Close();}catch(Exceptionex){MessageBox.Show("失敗:"+ex);}}privatevoid添加部門ToolStripMenuItem_Click(objectsender,EventArgse){Formadd=newAdd(treeView1.SelectedNode.Tag.ToString());if(add.ShowDialog()==DialogResult.OK)Addparent();}privatevoid添加班組ToolStripMenuItem_Click(objectsender,EventArgse){Formadd=newAdd(treeView1.SelectedNode.Tag.ToString());if(add.ShowDialog()==DialogResult.OK)Addparent();}privatevoid添加人員ToolStripMenuItem_Click(objectsender,EventArgse){TreeNodet=newTreeNode();Formadd=newAdd_person(treeView1.SelectedNode.Tag.ToString());if(add.ShowDialog()==DialogResult.OK){treeView1_AfterSelect(treeView1.SelectedNode,null);}}privatevoid刪除ToolStripMenuItem1_Click(objectsender,EventArgse){stringsql_deleteBM="deletefromBMwherejid="+treeView1.SelectedNode.Tag.ToString()+"orjpar="+treeView1.SelectedNode.Tag.ToString();OracleLJ.conn.Open();OracleCommandcmd=newOracleCommand();cmd.Connection=OracleLJ.conn;cmd.CommandText=sql_deleteBM;cmd.ExecuteNonQuery();OracleLJ.conn.Close();Addparent();DataTabledt=(DataTable)dataGridView_clerk.DataSource;dt.Rows.Clear();dataGridView_clerk.DataSource=dt;}privatevoid刪除ToolStripMenuItem2_Click(objectsender,EventArgse){stringsql_deleteBZ="deletefromBMwherejid="+treeView1.SelectedNode.Tag.ToString();OracleLJ.conn.Open();OracleCommandcmd=newOracleCommand();cmd.Connection=OracleLJ.conn;cmd.CommandText=sql_deleteBZ;cmd.ExecuteNonQuery();OracleLJ.conn.Close();Addparent();DataTab

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論