




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 一、課程設(shè)計(jì)目的通過(guò)這次的設(shè)計(jì),主要是做出一個(gè)小型的管理系統(tǒng),來(lái)加強(qiáng)對(duì)JAVA所學(xué)知識(shí)的鞏固和融會(huì)貫通,可以說(shuō)是對(duì)一個(gè)學(xué)期所學(xué)知識(shí)的一個(gè)小結(jié),加深對(duì)JAVA數(shù)據(jù)庫(kù)的理解。二、需求分析功能需求分析: 該系統(tǒng)具備管理學(xué)生信息、課程信息、選課信息的功能:用戶(hù)通過(guò)輸入賬號(hào)和密碼進(jìn)下該系統(tǒng)后,可以進(jìn)行一些基礎(chǔ)維護(hù)(學(xué)生信息維護(hù)、課程信息維護(hù)、選課信息維護(hù))。全部都可以進(jìn)行增加、修改、刪除、模糊查詢(xún)。三、數(shù)據(jù)項(xiàng):1表admin(用戶(hù)表)FieldTypeNullKeyComment Usernamechar(10)PRI用戶(hù)名passwordchar(10)密碼NameChar(10)用戶(hù)昵稱(chēng)2表S(學(xué)
2、生信息表)FieldTypeNullKeyComment Snonvarchar(50)PRI學(xué)號(hào)Snamenvarchar(50)姓名Sxnvarchar(50)系別3表C(課程信息表)FieldTypeNullKeyComment Cnonvarchar(50)PRI課號(hào)Cnamenvarchar(50)課名4表SC(學(xué)生信息表)FieldTypeNullKeyComment Cnonvarchar(50)PRI課號(hào)Snonvarchar(50)PRI學(xué)號(hào)Cnvarchar(50)成績(jī)四、系統(tǒng)功能描述該小型系統(tǒng)主要是用于管理學(xué)生及課程的基本信息,主要功能包括四方面的:1.管理學(xué)生信息,其中
3、包括添加,刪除,修改等操作。2.管理課程信息,其中包括添加,刪除,修改等操作。3.管理選課信息,其中包括添加,刪除,修改等操作。4.查詢(xún)信息,其中包括查詢(xún)學(xué)生信息,查詢(xún)課程信息,查詢(xún)選課信息等操作。選課信息課程信息學(xué)生信息刪除信息修改信息添加信息刪除信息修改信息添加信息刪除信息修改信息添加信息查詢(xún)管理選課管理課程管理學(xué)生管理學(xué)生信息管理系統(tǒng) 五、代碼分析連接數(shù)據(jù)庫(kù)方法:這是java連接數(shù)據(jù)庫(kù)的驅(qū)動(dòng),有關(guān)數(shù)據(jù)庫(kù)的操作都要用到他。public static Connection CONN() String driverName = "com.microsoft.sqlserver.jdb
4、c.SQLServerDriver" /加載JDBC驅(qū)動(dòng)String dbURL = "jdbc:sqlserver:/localhost:1433; DatabaseName=student" /連接服務(wù)器和數(shù)據(jù)庫(kù)test,此處student是數(shù)據(jù)庫(kù)名 String userName = "sa" /默認(rèn)用戶(hù)名 String userPwd = "mima" /密碼 Connection dbConn=null; try Class.forName(driverName); dbConn = DriverManager.g
5、etConnection(dbURL, userName, userPwd); System.out.println("Connection Successful!"); /如果連接成功 控制臺(tái)輸出Connection Successful! catch (Exception e) e.printStackTrace(); return dbConn;用戶(hù)登錄界面user.java:登錄時(shí),凡是賬號(hào)密碼未填寫(xiě)、輸入錯(cuò)誤賬號(hào)密碼都會(huì)提出錯(cuò)誤提示框。在填寫(xiě)好賬號(hào)密碼后,會(huì)讀取數(shù)據(jù)庫(kù)里admin表,并查詢(xún)其輸入是否存在,若無(wú)誤,則登錄到用戶(hù)界面。public class User
6、 extends JFrame private JLabel use,password; private JTextField k1;/用戶(hù)名輸入框 private JPasswordField k2;/密碼輸入框 private JButton b1,b2;/登錄窗口public User(JFrame f)super("系統(tǒng)登錄");Container c=getContentPane();c.setLayout(new FlowLayout();use=new JLabel("username:");use.setFont(new Font(&qu
7、ot;Serif",Font.PLAIN,20);password=new JLabel("password:");password.setFont(new Font("Serif",Font.PLAIN,20);k1=new JTextField(12);k2=new JPasswordField(12);b1=new JButton("登錄");b2=new JButton("退出");/設(shè)置登錄方法BHandler b=new BHandler();EXIT d=new EXIT();b1.addA
8、ctionListener(b);b2.addActionListener(d);/添加控件c.add(use);c.add(k1);c.add(password);c.add(k2);c.add(b1);c.add(b2);setBounds(600,300,250,150);setVisible(true);setResizable(false);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/主函數(shù)public static void main(String args) User f1=new User(new JFrame();效果圖:用
9、戶(hù)界面:Menu.java用戶(hù)界面能菜單欄有4個(gè)一級(jí)菜單,學(xué)生管理、課程管理、選課管理都能添加、修改、刪除數(shù)據(jù),分別操作數(shù)據(jù)庫(kù)里的S表(學(xué)生),C表(課程),SC表(選課)。查詢(xún)管理則可進(jìn)行三個(gè)表的查詢(xún)。import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Menu extends JFrame implements ActionListenerAddstu 增加學(xué)生界面;Updatastu 修改學(xué)生界面;Delstu 刪除學(xué)生界面;AddC 增加課程界面;DelC 刪除課程界面;UpdateC
10、修改課程界面;AddSC 增加選課界面;DelSC 刪除選課界面;UpdateSC 修改選課界面;Selstu 學(xué)生查詢(xún)界面;JPanel pCenter;CardLayout card=null;JLabel label=null;JMenuBar mb=new JMenuBar();/菜單欄JMenu m1=new JMenu("學(xué)生管理");JMenuItem add1=new JMenuItem("add1 ");JMenuItem updata1=new JMenuItem("updata1 ");JMenuItem del
11、ete1=new JMenuItem("delete1 ");JMenu m2=new JMenu("課程管理");JMenuItem add2=new JMenuItem("add2 ");JMenuItem updata2=new JMenuItem("updata2 ");JMenuItem delete2=new JMenuItem("delete2 ");JMenu m3=new JMenu("選課管理");JMenuItem add3=new JMenuItem(
12、"add3 ");JMenuItem updata3=new JMenuItem("updata3 ");JMenuItem delete3=new JMenuItem("delete3 ");JMenu m4=new JMenu("查詢(xún)管理");JMenuItem 學(xué)生查詢(xún)=new JMenuItem("查詢(xún)信息 ");JMenuItem m5=new JMenuItem("系統(tǒng)退出");Font t=new Font ("sanerif",Font.P
13、LAIN,12);public Menu ()this.setTitle("學(xué)生選課管理系統(tǒng)");try UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName();catch(Exception e)System.err.println("不能設(shè)置外觀: "+e);/組合菜單addMenu1();addMenu2();addMenu3();addMenu4();addJMenuBar();setJMenuBar(mb);label=new JLabel("選課管理系統(tǒng)&
14、quot;,JLabel.CENTER);label.setFont(new Font("宋體",Font.BOLD,36);label.setHorizontalTextPosition(SwingConstants.CENTER);label.setForeground(Color.red);/點(diǎn)擊事件add1.addActionListener(this);updata1.addActionListener(this);delete1.addActionListener(this);m5.addActionListener(this);add2.addActionLi
15、stener(this);delete2.addActionListener(this);updata2.addActionListener(this);add3.addActionListener(this);delete3.addActionListener(this);updata3.addActionListener(this);學(xué)生查詢(xún).addActionListener(this);card=new CardLayout();pCenter=new JPanel();pCenter.setLayout(card);增加學(xué)生界面=new Addstu();修改學(xué)生界面=new Upd
16、atastu(); 刪除學(xué)生界面=new Delstu();增加課程界面=new AddC();刪除課程界面=new DelC();修改課程界面=new UpdateC();增加選課界面=new AddSC();刪除選課界面=new DelSC();修改選課界面=new UpdateSC();學(xué)生查詢(xún)界面=new Selstu();pCenter.add("歡迎界面",label);pCenter.add("增加學(xué)生界面",增加學(xué)生界面);pCenter.add("修改學(xué)生界面",修改學(xué)生界面);pCenter.add("刪
17、除學(xué)生界面",刪除學(xué)生界面);pCenter.add("增加課程界面",增加課程界面);pCenter.add("刪除課程界面",刪除課程界面);pCenter.add("修改課程界面",修改課程界面);pCenter.add("增加選課界面",增加選課界面);pCenter.add("刪除選課界面",刪除選課界面);pCenter.add("修改選課界面",修改選課界面);pCenter.add("學(xué)生查詢(xún)界面", 學(xué)生查詢(xún)界面);add(pC
18、enter,BorderLayout.CENTER);validate();setVisible(true);setBounds(400,150,400,280);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); addWindowListener(new WindowAdapter()/關(guān)閉程序時(shí)的操作public void windowClosing(WindowEvent e)System.exit(0); );validate();private void addJMenuBar() mb.add(m1);mb.add(m2);mb.add
19、(m3);mb.add(m4);mb.add(m5);private void addMenu4() m4.add(學(xué)生查詢(xún));m4.setFont(t);private void addMenu3() m3.add(add3);m3.add(updata3);m3.add(delete3);m3.setFont(t);private void addMenu2() /將菜單加入到菜單欄中m2.add(add2);m2.add(updata2);m2.add(delete2);m2.setFont(t); private void addMenu1() m1.add(add1);m1.add(
20、updata1);m1.add(delete1);m1.setFont(t); public void actionPerformed(ActionEvent e)Object obj=e.getSource();if(obj=m5)System.exit(0);elseif(obj=add1)card.show(pCenter,"增加學(xué)生界面");elseif(obj=updata1) card.show(pCenter,"修改學(xué)生界面");elseif(obj=delete1) card.show(pCenter, "刪除學(xué)生界面"
21、;);elseif(obj=add2) card.show(pCenter, "增加課程界面");elseif(obj=delete2) card.show(pCenter, "刪除課程界面");elseif(obj=updata2) card.show(pCenter, "修改課程界面");elseif(obj=add3) card.show(pCenter, "增加選課界面");elseif(obj=delete3) card.show(pCenter, "刪除選課界面");elseif(o
22、bj=updata3) card.show(pCenter, "修改選課界面");elseif(obj=學(xué)生查詢(xún)) card.show(pCenter, "學(xué)生查詢(xún)界面");public static void main(String args) new Menu();效果圖:添加界面:AddC.java/AddSC.java/Addstu.java添加數(shù)據(jù)時(shí),若遇到必須信息未填寫(xiě)、不能重復(fù)的信息在數(shù)據(jù)庫(kù)中已存在,都會(huì)提示無(wú)法添加及其錯(cuò)誤原因。import java.awt.*;import javax.swing.*;import java.sql.*
23、;import java.awt.event.*;public class AddC extends JPanel implements ActionListenerJTextField 課號(hào),課名;JButton 錄入;public AddC()try UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName();catch(Exception e)System.err.println("不能設(shè)置外觀: "+e);課號(hào)=new JTextField(12);課名=new JTextField(12);
24、錄入=new JButton("錄入");錄入.addActionListener(this);Box box1=Box.createHorizontalBox();/橫放boxBox box2=Box.createHorizontalBox();Box box3=Box.createHorizontalBox();Box box4=Box.createHorizontalBox();box1.add(new JLabel("課號(hào):");box1.add(課號(hào));box2.add(new JLabel("課名:");box2.add(
25、課名);box4.add(錄入);Box boxH=Box.createVerticalBox();/豎放boxboxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(Box.createVerticalGlue();JPanel messPanel=new JPanel();messPanel.add(boxH);setLayout(new BorderLayout();add(messPanel,BorderLayout.CENTER);validate();效果圖:添加界面:UpdateC.java/Upd
26、ateSC.java /Updatestu.java先查找你想要修改的項(xiàng)目,若修改的信息包括號(hào)碼(學(xué)號(hào)、課號(hào)),則會(huì)進(jìn)行查詢(xún),如果修改后的號(hào)碼已存在,以及修改后必須的信息變成空都會(huì)提示無(wú)法修改和其錯(cuò)誤原因。此外,若修改C表或則S表,會(huì)連同SC表中對(duì)應(yīng)的信息一起修改。import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.*;public class UpdateC extends JPanel implements ActionListenerString save=null;JTextFie
27、ld 課號(hào)1,課號(hào),課名;JButton 修改,查找;public UpdateC()try UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName();catch(Exception e)System.err.println("不能設(shè)置外觀: "+e);課號(hào)1=new JTextField(12);課號(hào)=new JTextField(12);課名=new JTextField(12);修改=new JButton("修改");查找=new JButton("查找&quo
28、t;);Box box1=Box.createHorizontalBox();/橫放boxBox box2=Box.createHorizontalBox();Box box3=Box.createHorizontalBox();Box box4=Box.createHorizontalBox();Box box5=Box.createHorizontalBox();box1.add(new JLabel("課號(hào):",JLabel.CENTER);box1.add(課號(hào));box2.add(new JLabel("課名:",JLabel.CENTER);
29、box2.add(課名);box3.add(修改);box5.add(new JLabel("課號(hào):",JLabel.CENTER);box5.add(課號(hào)1);box5.add(查找);修改.addActionListener(this); 查找.addActionListener(this);Box boxH=Box.createVerticalBox();/豎放boxboxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(Box.createVerticalGlue();JPanel p
30、icPanel=new JPanel();JPanel messPanel=new JPanel();messPanel.add(box5);picPanel.add(boxH);setLayout(new BorderLayout();JSplitPane splitV=new JSplitPane(JSplitPane.VERTICAL_SPLIT,messPanel,picPanel);/分割add(splitV,BorderLayout.CENTER);validate();刪除界面:DelC.java/DelSC.java /Deltu.java先查找你想要?jiǎng)h除的項(xiàng)目,然后刪除,此外
31、,若刪除C表或則S表的內(nèi)容,會(huì)連同SC表中對(duì)應(yīng)的信息一起修改。import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.*;public class DelC extends JPanel implements ActionListenerString save=null;JTextField 課號(hào)1,課號(hào),課名;JButton 刪除,查找;public DelC()try UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassN
32、ame();catch(Exception e)System.err.println("不能設(shè)置外觀: "+e);課號(hào)1=new JTextField(12);課號(hào)=new JTextField(12);課名=new JTextField(12);刪除=new JButton("刪除");查找=new JButton("查找");Box box1=Box.createHorizontalBox();/橫放boxBox box2=Box.createHorizontalBox();Box box3=Box.createHorizonta
33、lBox();Box box4=Box.createHorizontalBox();Box box5=Box.createHorizontalBox();box1.add(new JLabel("課號(hào):",JLabel.CENTER);box1.add(課號(hào));box2.add(new JLabel("課名:",JLabel.CENTER);box2.add(課名);box4.add(刪除);box5.add(new JLabel("課號(hào):",JLabel.CENTER);box5.add(課號(hào)1);box5.add(查找);Box
34、boxH=Box.createVerticalBox();/豎放boxboxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(Box.createVerticalGlue();刪除.addActionListener(this); 查找.addActionListener(this);JPanel picPanel=new JPanel();JPanel messPanel=new JPanel();messPanel.add(box5);picPanel.add(boxH);setLayout(new Bord
35、erLayout();JSplitPane splitV=new JSplitPane(JSplitPane.VERTICAL_SPLIT,messPanel,picPanel);/分割add(splitV,BorderLayout.CENTER);validate();查詢(xún)界面:Selsto.java可以以任意條件模糊查找相關(guān)的表。import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.*;public class Selstu extends JPanel implements Actio
36、nListenerJTextField 學(xué)號(hào),姓名,系別;JButton 查找;JTextField 課號(hào),課名;JButton 查找1;JTextField 課號(hào)1,學(xué)號(hào)1,成績(jī);JButton 查找2; public Selstu ()學(xué)號(hào)=new JTextField(12);姓名=new JTextField(12);系別=new JTextField(12);課號(hào)=new JTextField(12);課名=new JTextField(12);課號(hào)1=new JTextField(12);學(xué)號(hào)1=new JTextField(12);成績(jī)=new JTextField(12);查找
37、=new JButton("查找學(xué)生信息");查找1=new JButton("查找課程信息");查找2=new JButton("查找選課信息");Box box1=Box.createHorizontalBox();/橫放boxBox box2=Box.createHorizontalBox();Box box4=Box.createHorizontalBox();Box box5=Box.createHorizontalBox();Box box6=Box.createHorizontalBox();Box box7=Box.c
38、reateHorizontalBox();box1.add(new JLabel("學(xué)號(hào):",JLabel.CENTER);box1.add(學(xué)號(hào));box1.add(new JLabel("姓名:",JLabel.CENTER);box1.add(姓名);box1.add(new JLabel("系別:",JLabel.CENTER);box1.add(系別);box2.add(查找);box4.add(new JLabel("課號(hào):",JLabel.CENTER);box4.add(課號(hào));box4.add(n
39、ew JLabel("課名:",JLabel.CENTER);box4.add(課名);box6.add(查找1);box5.add(new JLabel("課號(hào):",JLabel.CENTER);box5.add(課號(hào)1);box5.add(new JLabel("學(xué)號(hào):",JLabel.CENTER);box5.add(學(xué)號(hào)1);box5.add(new JLabel("成績(jī):",JLabel.CENTER);box5.add(成績(jī));box7.add(查找2); Box boxH1=Box.createVer
40、ticalBox();/豎放boxboxH1.add(box1);boxH1.add(box2);boxH1.add(Box.createVerticalGlue();Box boxH2=Box.createVerticalBox();/豎放boxboxH2.add(box4);boxH2.add(box6);boxH2.add(Box.createVerticalGlue(); Box boxH3=Box.createVerticalBox();/豎放boxboxH3.add(box5);boxH3.add(box7);boxH3.add(Box.createVerticalGlue();
41、查找.addActionListener(this);查找1.addActionListener(this);查找2.addActionListener(this); JPanel messPanel=new JPanel();JPanel picPanel=new JPanel();JPanel threePanel=new JPanel();messPanel.add(boxH1);picPanel.add(boxH2);threePanel.add(boxH3);setLayout(new BorderLayout();JSplitPane splitV=new JSplitPane(J
42、SplitPane.VERTICAL_SPLIT,messPanel,picPanel);/分割add(splitV,BorderLayout.CENTER);JSplitPane splitV1=new JSplitPane(JSplitPane.VERTICAL_SPLIT,splitV,threePanel);/分割add(splitV1,BorderLayout.CENTER);validate();效果圖:五、課程設(shè)計(jì)學(xué)習(xí)心得通過(guò)本次課程設(shè)計(jì),成功的完成了這個(gè)小型簡(jiǎn)單的系統(tǒng)的設(shè)計(jì),在整個(gè)設(shè)計(jì)過(guò)程中我對(duì)JAVA使用和它強(qiáng)大的作用有了一個(gè)更深刻的認(rèn)識(shí),盡管這個(gè)系統(tǒng)很簡(jiǎn)單,但是它讓我綜合運(yùn)
43、用了這個(gè)學(xué)期所學(xué)的JAVA的很多內(nèi)容,在此基礎(chǔ)上,對(duì)JAVA的基礎(chǔ)知識(shí)得到了更好的鞏固。其實(shí),在制作的過(guò)程中我也學(xué)到很多思想:首先,要學(xué)會(huì)統(tǒng)籌全局,合理規(guī)劃,例如在制作整個(gè)框架的時(shí)候提前就要做全面考慮,要把整個(gè)結(jié)構(gòu)圖畫(huà)出來(lái),并且要對(duì)數(shù)據(jù)庫(kù)表里的東西做全面規(guī)劃。同時(shí)在編寫(xiě)程序的時(shí)候也要想好先實(shí)現(xiàn)什么功能,再實(shí)現(xiàn)什么功能,這樣做出來(lái)的東西才有條理性,更容易實(shí)現(xiàn)和理解。其次,要細(xì)心仔細(xì)。Java程序雖然容易理解,但在寫(xiě)的過(guò)程中一不留心就會(huì)出現(xiàn)錯(cuò)誤。當(dāng)然出錯(cuò)是在所難免的,與性質(zhì)有關(guān)的錯(cuò)誤可以經(jīng)過(guò)思考討論后進(jìn)行改正,但如果粗心大意,出現(xiàn)輸入上的錯(cuò)誤就很難發(fā)現(xiàn)和修改,會(huì)耽誤很多時(shí)間。我認(rèn)為最大的收獲是提高
44、了自己的動(dòng)手能力。在平時(shí)的上機(jī)中大多數(shù)是根據(jù)書(shū)上的思想和布局來(lái)寫(xiě)程序的。這次的課程設(shè)計(jì)要自己思考自己寫(xiě),考慮的東西比平時(shí)上機(jī)考慮的要多的多。在整個(gè)設(shè)計(jì)過(guò)程中寫(xiě)代碼不是最難的,最難的是構(gòu)思和布局。這次課程設(shè)計(jì)也是一次很好的實(shí)踐活動(dòng),讓我們體會(huì)到了java的神奇作用。下面是java的源代碼,總共有15個(gè)類(lèi)。分別是AddC.java,AddSC.java,Addstu.java, Delstu.java,DelC.java, DelSC.java,Menu.java,SelC.java,SelSC.java,Selstu.java,Student.java,Updatastu.java,Update
45、C.java,UpdateSC.java,User.java。因?yàn)楸救颂珣?,所以一些?lèi)名的錯(cuò)誤沒(méi)有修改,也沒(méi)有優(yōu)化系統(tǒng),總之還算是能運(yùn)行的,數(shù)據(jù)庫(kù)用的是sql2005,如果用別的數(shù)據(jù)庫(kù)就要改驅(qū)動(dòng),具體自己上網(wǎng)百度吧。如果自己有空,優(yōu)化一下還是很好滴AddC.jaba:import java.awt.*;import javax.swing.*;import java.sql.*;import java.awt.event.*;public class AddC extends JPanel implements ActionListenerJTextField 課號(hào),課名;JButton 錄入
46、;public AddC()try UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName();catch(Exception e)System.err.println("不能設(shè)置外觀: "+e);課號(hào)=new JTextField(12);課名=new JTextField(12);錄入=new JButton("錄入");錄入.addActionListener(this);Box box1=Box.createHorizontalBox();/橫放boxBox box2=Bo
47、x.createHorizontalBox();Box box3=Box.createHorizontalBox();Box box4=Box.createHorizontalBox();box1.add(new JLabel("課號(hào):");box1.add(課號(hào));box2.add(new JLabel("課名:");box2.add(課名);box4.add(錄入);Box boxH=Box.createVerticalBox();/豎放boxboxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(
48、box4);boxH.add(Box.createVerticalGlue();JPanel messPanel=new JPanel();messPanel.add(boxH);setLayout(new BorderLayout();add(messPanel,BorderLayout.CENTER);validate();public void actionPerformed(ActionEvent c)Object obj=c.getSource();if(obj=錄入)if(課號(hào).getText().equals("")|課名.getText().equals(&
49、quot;")JOptionPane.showMessageDialog(this,"學(xué)生信息請(qǐng)?zhí)顫M(mǎn)再錄入!" );Statement stmt=null;ResultSet rs=null,rs1=null;String sql,sql1; sql1="select * from C where Cno='"+課號(hào).getText()+"'" sql="insert into C values('"+課號(hào).getText()+"','"+課名.
50、getText()+"')" try Connection dbConn1=CONN();stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);rs1=stmt.executeQuery(sql1);if(rs1.next()JOptionPane.showMessageDialog(this,"該課號(hào)以存在,無(wú)法添加");elsestmt.executeUpdate(sql);JOptionPan
51、e.showMessageDialog(this,"添加成功");rs1.close();stmt.close(); catch(SQLException e) System.out.print("SQL Exception occur.Message is:"+e.getMessage(); /連接數(shù)據(jù)庫(kù)方法public static Connection CONN() String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver" /加載JDBC驅(qū)動(dòng) Strin
52、g dbURL = "jdbc:sqlserver:/localhost:1433; DatabaseName=student" /連接服務(wù)器和數(shù)據(jù)庫(kù)test String userName = "sa" /默認(rèn)用戶(hù)名 String userPwd = "huangjiwei" /密碼 Connection dbConn=null; try Class.forName(driverName); dbConn = DriverManager.getConnection(dbURL, userName, userPwd); System.
53、out.println("Connection Successful!"); /如果連接成功 控制臺(tái)輸出Connection Successful! catch (Exception e) e.printStackTrace(); return dbConn;AddSC.java:import java.awt.*;import javax.swing.*;import java.sql.*;import java.util.*;import javax.swing.filechooser.*;import java.io.*;import java.awt.event.*
54、;public class AddSC extends JPanel implements ActionListenerJTextField 課號(hào),學(xué)號(hào),成績(jī);JButton 錄入;public AddSC()try UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName();catch(Exception e)System.err.println("不能設(shè)置外觀: "+e);課號(hào)=new JTextField(12);學(xué)號(hào)=new JTextField(12);成績(jī)=new JTextField(1
55、2);錄入=new JButton("錄入");錄入.addActionListener(this);Box box1=Box.createHorizontalBox();/橫放boxBox box2=Box.createHorizontalBox();Box box3=Box.createHorizontalBox();Box box4=Box.createHorizontalBox();box1.add(new JLabel("課號(hào):");box1.add(課號(hào));box2.add(new JLabel("學(xué)號(hào):");box2.add(學(xué)號(hào));box3.add(new JLabel("成績(jī):");box3.add(成績(jī));box4.add(錄入);Box boxH=Box.createVerticalBox();/豎放boxboxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(Box.createVerticalGlue();JPanel messPanel=new JPanel();messPanel.ad
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 夢(mèng)魘的臨床護(hù)理
- 工程新質(zhì)生產(chǎn)力
- 邵陽(yáng)初三聯(lián)考試卷及答案
- 山西高一文科試卷及答案
- 三中地理會(huì)考試卷及答案
- 礦山機(jī)械企業(yè)管理與創(chuàng)新能力考核試卷
- 電光源光生物安全性與健康影響考核試卷
- 家用電器產(chǎn)品創(chuàng)新設(shè)計(jì)理念探討考核試卷
- 棉織造行業(yè)智能物流系統(tǒng)設(shè)計(jì)考核試卷
- 咖啡大師考試試題及答案
- 護(hù)理行政查房?jī)?nèi)容
- 精神科患者自縊應(yīng)急演練
- 視屏號(hào)認(rèn)證授權(quán)書(shū)
- 《用戶(hù)體驗(yàn)人員技術(shù)能力等級(jí)評(píng)價(jià)》編制說(shuō)明
- 《打印機(jī)培訓(xùn)資料》課件
- 鄉(xiāng)村文化傳承與發(fā)展路徑研究
- 班委工作職責(zé)一覽表
- 兩位數(shù)加一位數(shù)口算練習(xí)題4000道48
- 幼兒園情緒管理
- 2025年度消防員心理健康教育培訓(xùn)
- 廣東省廣州市2025屆高三二診模擬考試英語(yǔ)試卷含解析
評(píng)論
0/150
提交評(píng)論