JAVA課程設計-企業銷售管理系統_第1頁
JAVA課程設計-企業銷售管理系統_第2頁
JAVA課程設計-企業銷售管理系統_第3頁
JAVA課程設計-企業銷售管理系統_第4頁
JAVA課程設計-企業銷售管理系統_第5頁
已閱讀5頁,還剩19頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

常州大學課程設計PAGEPAGE2第2頁共23頁序號:10學號:11416230常州大學課程設計課程名稱:《面向對象程序設計(JAVA)》題目:企業銷售管理系統姓名:`````````學院:信息科學與工程學院專業班級:```````指導教師:``````設計時間:2012年12月24日2013年1月11日目錄任務書系統功能分析········································03系統組成············································03正文系統分析功能模塊·········································04功能流程圖·······································06數據庫設計··········································07系統詳細設計連接數據庫·······································08主界面···········································08修改、添加、刪除模塊·····························10查詢、打印、登錄模塊·····························14系統使用說明···········································21日記···················································22心得體會···············································22參考文獻···············································23致謝···················································23修改功能:保存退出修改功能修改其他修改數目修改編號修改名稱查詢數據保存退出修改功能修改其他修改數目修改編號修改名稱查詢數據刪除功能:刪除功能查詢數據確定刪除保存退出刪除功能查詢數據確定刪除保存退出程序結構流程圖:企業銷售管理系統企業銷售管理系統員工基本信息表商品信息表員工銷售信息表查詢修改添加刪除查詢修改添加添加修改刪除輸出打印系統退出(2)數據庫設計: 按照規范設計的方法,考慮數據庫及其管理系統開發的全過程,將數據庫設計分為以下六個階段:·需求分析·概念結構設計·邏輯結構設計·物理結構設計·數據庫實施·數據庫運行和維護基本要求在mysql軟件基礎上,利用應用系統開發為企業銷售管理設計數據庫和建立相應的數據庫。創建4個表格,分別為sellInfo,staffInfo,goodsInfo,以及登錄所需的password表格。信息要求,處理要求,安全性和完整性要求,數據流圖,數據字典,數據項之間應有的聯系必須表示出來,用數據依賴表示即可邏輯結構設計必須:說明各個關系模式所屬的范式,如果不是BC或3NF范式,(3)系統的詳細設計:連接數據庫:importjava.sql.*;publicclassConnection1{ Connectionconnect; privateStringdbDriver="com.mysql.jdbc.Driver";//加載數據庫驅動privateStringurl="jdbc:mysql://localhost:3306/sell?true&characterEncoding=utf-8";//地址/**CreatesanewinstanceofconnectJdbc*/publicConnectiongetConnection(){try{ Class.forName(dbDriver).newInstance(); connect=DriverManager.getConnection(url,"root","123456"); }catch(Exceptionex){System.out.println("數據庫加載失敗");} returnconnect; }主界面:View.java首先在主界面的panel里顯示數據庫中的數據,以商品信息表為例。 JTabletable; JScrollPanejscrollpane;//申明滾動面板變量 TableModelmyTable=newDefaultTableModel(); Connection1db=newConnection1(); Connectioncon=db.getConnection();//連接到數據庫 Statementps; try{ ps=con.createStatement(); ResultSetrs; rs=ps.executeQuery("select*fromgoodsInfo");//在sell表格中執行查詢 ResultSetMetaDatametaData; metaData=rs.getMetaData();//得到數據庫元數據 intnumber=metaData.getColumnCount();//得到數據庫中表的列的個數 VectorcolumnNames=newVector();//調用Vector類,生成可自動增長的數組對象列 Vectorrows=newVector();//對象行 for(intnum=0;num<number;num++){ columnNames.addElement(metaData.getColumnLabel(num+1)); }//循環生成 while(rs.next()){ VectornewRow=newVector();/*for循環,將結果集中一行數據放到newRow矢量中*/ for(inti=1;i<=number;i++){ newRow.addElement(rs.getObject(i)); }/*將上面的矢量newRow作為矢量rows中的一個元素,這樣rows中的一個元素就代表結果集中的一行數據*/ rows.addElement(newRow);//增長行 myTable=newDefaultTableModel(rows,columnNames);//在表格中加載數據 } }catch(SQLExceptionex){ } table=newJTable(myTable); jscrollpane=newJScrollPane(table); jscrollpane.setViewportView(table); jscrollpane.revalidate(); jPanel3.setLayout(newBorderLayout()); jPanel3.add(jscrollpane,BorderLayout.CENTER); jPanel3.setVisible(true);效果如下:三、修改模塊:首先對所需修改的員工信息進行查詢,并顯示在修改界面上,關鍵代碼如下:Connection1db=newConnection1(); Connectioncon=db.getConnection();//連接數據庫 Stringsql="select*fromsellInfo"; Statementps=con.createStatement(); ResultSetrs=ps.executeQuery(sql);//查詢 while(rs.next()){ if(rs.getString("員工編號").equals(jTextField1.getText())){ //匹配該員工的信息; num1=rs.getString("員工編號"); num2=rs.getString("商品編號"); num3=rs.getInt("商品數目"); price1=rs.getInt("應付金額(元)"); price2=rs.getInt("顧客付款(元)"); price3=rs.getInt("找回金額(元)"); } } jTextField2.setText(num1); jTextField3.setText(num2); jTextField4.setText(""+num3); jTextField5.setText(""+price1); jTextField6.setText(""+price2); jTextField7.setText(""+price3);//在修改界面上顯示該員工銷售的信息 }然后在對修改界面上的信息進行修改,并返回保存至數據庫,關鍵代碼如下:Stringsql="updatesellInfoset員工編號='"+num1+"',商品編號='"+num2+"',商品數目="+num3+",應付金額(元)="+price1+",顧客付款(元)="+price2+",找回金額(元)="+price3+"where員工編號='"+num1+"'"; try{ ps=con.createStatement(); ps.executeUpdate(sql);//數據更新 }catch(SQLExceptione){ e.printStackTrace(); }效果如下:四、刪除模塊:首先對用戶輸入的員工編號或者員工名稱進行查找,當數據庫中由此數據時,顯示該數據,并請求用戶是否確定刪除,運用sql語句中的delete,以員工基本信息為例,關鍵代碼如下:Statementps=con.createStatement(); ResultSetrs=ps.executeQuery(sql); while(rs.next()){ if(rs.getString("員工編號").equals(jTextField1.getText()) ||rs.getString("員工名").equals(jTextField2.getText())) { num1=rs.getString("員工編號"); num2=rs.getString("員工名"); i=rs.getInt("年齡"); num3=rs.getString("性別"); num4=rs.getString("部門"); num5=rs.getString("職務"); } } } ints=JOptionPane.showConfirmDialog(null,"確定要刪除此數據嗎?\t\n員工編號:"+jTextField1.getText()+"\t\n"+"員工名:"+num2+"\t\n" +"年齡:"+i+"(歲)"+"\t\n"+"性別:"+num3+"\t\n" +"部門:"+num4+"\t\n"+"職務:"+num5+"\t");//顯示對話框是否確定刪除 if(s==0){ Stringjk=jTextField1.getText(); Stringjk1=jTextField2.getText(); Stringsql1="deletefromstaffInfowhere員工編號='"+jk +"'or員工名='"+jk1+"'"; Statementps1; try{ ps1=con.createStatement(); ps1.execute(sql1);//執行刪除 }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } 效果如下:五、添加模塊:添加數據到數據庫主要用的是sql中的insert語句,在數據中增加所需數據,這期間要特別注意語句中的變量與引號的問題,以員工銷售表為例,關鍵代碼如下: Stringnum1=jTextField1.getText(); Stringnum2=jTextField2.getText(); intii=Integer.valueOf(jTextField3.getText()); intprice1=Integer.valueOf(jTextField4.getText()); intprice2=Integer.valueOf(jTextField5.getText()); intprice3=Integer.valueOf(jTextField6.getText()); Stringsql="insertintosellInfovalues('"+num1+"','"+num2 +"','"+ii+"','"+price1+"','"+price2+"','"+price3 +"')"; PreparedStatementps=con.prepareStatement(sql); ps.executeUpdate();//執行并更新語句效果如下:六、查詢模塊:查詢方式主要有兩種:一是精確查找,通過用戶所輸入的編號,名稱進行查找;二是模糊查找,通過用戶所輸入的模糊信息進行查找,輸出所有符合的結果。1.精確查找關鍵代碼如下: Stringsql="select*fromgoodsInfo"; Stringnum1=null,name=null; intnum2=0; Statementps=con.createStatement(); ResultSetrs=ps.executeQuery(sql); while(rs.next()){ if(rs.getString("商品編號").equals(jTextField1.getText())||rs.getString("商品名稱").equals(jTextField2.getText())){ num1=rs.getString("商品編號"); name=rs.getString("商品名稱"); num2=rs.getInt("商品單價(元)"); } }2.模糊查詢關鍵代碼如下:Stringnum1=jTextField3.getText(),num2=jTextField4.getText(),num3=jTextField5.getText(); if(num1.equals("")&&num2.equals("")&&num3.equals("")){ GoodsInfogi=newGoodsInfo(); gi.getGoodsInfo();//如果全部為空,則顯示所有數據 }elseif(!num1.equals(null)||!num2.equals(null) ||!num3.equals(null)){ Statementps; ps=con.createStatement(); ResultSetrs; rs=ps.executeQuery("select*fromgoodsInfowhere商品編號like'"+num1+"%'and商品名稱like'"+num2+"%'and商品單價(元)like'"+num3+"%'"); 效果如下:精確查找:輸入商品編號:201204,顯示結果如下:模糊查找:輸入商品編號:20120,顯示結果如下:七、打印模塊:打印信息表主要將修改好的數據輸出稱excel的形式,保存在電腦里,以staffInfo為例,String[]title={"員工編號","員工名","年齡","性別","部門","職務"};//準備設置excel工作表的標題 StringfilePath="D:\\staffInfo.xls";//輸出的excel的路徑 OutputStreamos=newFileOutputStream(filePath);//創建Excel工作薄 WritableWorkbookwwb=Workbook.createWorkbook(os); //添加第一個工作表并設置第一個Sheet的名字 WritableSheetsheet=wwb.createSheet("員工基本信息表",0); Labellabel=null; for(inti=0;i<title.length;i++){ //Label(x,y,z)其中x代表單元格的第x+1列,第y+1行,單元格的內容是y//在Label對象的子對象中指明單元格的位置和內容 label=newLabel(i,0,title[i]);//將定義好的單元格添加到工作表中 sheet.addCell(label); } Statementstmt=con.createStatement(); ResultSetresult=stmt.executeQuery("select*fromstaffInfo");//查詢表中的所有數據 intx=0; while(result.next()){//從數據庫中取得數據 x++;//控制行數 for(inty=0;y<title.length;y++){//獲得列數 label=newLabel(y,x,result.getString(y+1)); //x代表行,y代表列,通過rst.getString()設置單元格內容 sheet.addCell(label);//將內容加到execl中去 } } wwb.write();//寫入數據 wwb.close();//關閉文件保存效果如下:關鍵代碼如下:OutPutExloe1=newOutPutExl(); oe1.OutPutExlstaff(); JOptionPane.showMessageDialog(null,"輸出打印員工基本信息表成功!保存在D:staffInfo");八、登陸界面:Login.Java首先連接數據庫,并判斷用戶所輸的用戶名,密碼是否正確,如果匹配則讓其通過,否則提示用戶名與密碼不匹配,請重新輸入。判斷方法queryUser語句如下:booleanqueryUser(StringuserName,Stringpass){ Connection1db=newConnection1(); Connectioncon=db.getConnection(); Stringsql="select*frompasswordwhereUsername='"+userName+"'andPassword='"+pass+"'"; try{ Statementps=con.createStatement(); ResultSetrs=ps.executeQuery(sql); if(rs.next()){ if(rs.getString("Username").equals(userName)&&rs.getString("Password").equals(pass)) returntrue; else returnfalse; }else returnfalse;登錄如下:(4)系統的使用說明:設備支持:推薦配置:Windows7,512內存。數據庫:MySQLServer5.0。軟件支持:MyEclipse編寫。(5)日志:課程設計第一天:進行整體的布局構思,創建員工信息表、商品信息表、員工銷售信息表連接數據庫,實現多種方式驗證登錄。第二天:創建主界面,將數據庫里的表格信息出現在客戶端上。主要是panel的運用。第三天:進行簡單的語句查詢,調試編碼問題—中文亂碼,并設置滾動面板。通過網上查找了解

溫馨提示

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

評論

0/150

提交評論