課程設(shè)計報告--學生選課管理系統(tǒng)_第1頁
已閱讀1頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  數(shù)據(jù)庫課程設(shè)計報告</b></p><p><b>  學生選課管理系統(tǒng)</b></p><p><b>  目錄</b></p><p>  一、課程設(shè)計任務(wù)和目的2</p><p><b>  二、需求描述2</b>&

2、lt;/p><p>  三、系統(tǒng)總體設(shè)計3</p><p>  1.系統(tǒng)架構(gòu)設(shè)計3</p><p>  2.功能模塊設(shè)計3</p><p>  3.數(shù)據(jù)庫設(shè)計 (概要設(shè)計)5</p><p><b> ?。?)E-R圖5</b></p><p><b>  

3、(2)關(guān)系模式5</b></p><p> ?。?)數(shù)據(jù)庫管理系統(tǒng)6</p><p> ?。?)數(shù)據(jù)庫命名6</p><p><b> ?。?)數(shù)據(jù)庫表6</b></p><p>  四、系統(tǒng)界面設(shè)計11</p><p>  1、用戶登錄賬號和密碼11</p>

4、<p>  2、窗體功能描述12</p><p>  3、頁面/窗體關(guān)系結(jié)構(gòu)圖16</p><p>  五、系統(tǒng)實現(xiàn)技術(shù)小結(jié)16</p><p>  六、課程設(shè)計體會19</p><p>  七、系統(tǒng)主要源程序清單20</p><p>  一、課程設(shè)計任務(wù)和目的</p><p&

5、gt;  完成學生選課管理系統(tǒng)的開發(fā)并掌握SQL數(shù)據(jù)庫的建立和使用。</p><p><b>  二、需求描述</b></p><p>  本系統(tǒng)是一個單機版的小型的學生選課管理系統(tǒng),在本系統(tǒng)中,開發(fā)了一個面向管理員、學生和教師這三個對象的教務(wù)平臺,對學生提供的服務(wù)有登錄、選課、、修改登錄密碼、和查詢成績這幾個服務(wù),所選課程總數(shù)不能超過3門;對教師提供的服務(wù)有登錄、修

6、改登錄密碼和登錄成績;對管理員提供的服務(wù)有登錄開設(shè)學生和教師帳號、刪除學生和教師帳號的服務(wù)。</p><p><b>  三、系統(tǒng)總體設(shè)計</b></p><p><b>  1.系統(tǒng)架構(gòu)設(shè)計</b></p><p><b> ?。?)架構(gòu):單機</b></p><p>  (

7、2)運行軟件環(huán)境: windows XP 、jdk1.6</p><p><b> ?。?)開發(fā)環(huán)境:</b></p><p><b>  硬件平臺:</b></p><p>  CPU:P41.8GHz</p><p>  內(nèi)存:256MB以上</p><p>  軟件平臺

8、:windows XP SP3 、jdk1.6</p><p>  操作系統(tǒng):WindowsXP</p><p>  數(shù)據(jù)庫:SQL Server 2000、SQLServer SP4補丁</p><p>  開發(fā)工具:Eclipse 3.3</p><p>  分辨率:1024*768</p><p><b&g

9、t;  2.功能模塊設(shè)計</b></p><p><b>  各模塊功能:</b></p><p>  登錄界面:登錄界面是有帳號,密碼兩個JTextField,管理員帳號一字母A開頭,教師帳號一字母T開頭,學生帳號以字母S開頭,登錄帳號或密碼輸入錯誤會彈出相應(yīng)的提示對話框。</p><p>  學生信息管理模塊:管理員用于添加和刪

10、除學生信息的模塊。</p><p>  教師信息管理模塊:管理員用于添加和刪除教師信息的模塊。</p><p>  教師密碼修改模塊和學生密碼修改模塊:管理員添加的用戶帳號的初始密碼與用戶的帳號相同,用戶通過密碼修改模塊可以自己需改密碼。</p><p>  教師錄入成績模塊:教師可以瀏覽選修自己課程的學生的信息并且錄入該學生的成績。</p><

11、p>  學生選擇選修課模塊:該模塊通過表格的形式將所有課程列出來,學生可以根據(jù)個人興趣選擇不同的課程,每個學生選擇的課程數(shù)目不能超過3門,而且不能重復選課,否則會彈出對話框,提示用戶查看已經(jīng)選擇了的課程。</p><p>  學生查詢成績模塊:通過表格的形式將該學生選擇了的課程列出來,如果教師有錄入成績,則可以看到自己的課程成績。</p><p>  3.數(shù)據(jù)庫設(shè)計 (概要設(shè)計)&l

12、t;/p><p><b>  (1)E-R圖</b></p><p><b> ?。?)關(guān)系模式 </b></p><p>  學生(學生學號,學生姓名,教師性別,教師生日,所在班級)</p><p>  教師(教師編號,教師姓名,教師性別,教師生日,教師職稱,所在院系)</p><

13、p>  課程(課程號,課程名,學分,選課人數(shù))</p><p>  選課(課程號,學生學號,成績)</p><p>  授課(課程號,教師編號,上課地點)</p><p> ?。?)數(shù)據(jù)庫管理系統(tǒng)</p><p>  Microsoft SQL Server 2000</p><p><b> ?。?)

14、數(shù)據(jù)庫命名</b></p><p>  StudentManager</p><p><b> ?。?)數(shù)據(jù)庫表</b></p><p>  1、Logon(登錄帳號密碼)</p><p>  主要用來保存用戶登錄信息</p><p>  2、StudentTable1(學生信息表)&

15、lt;/p><p>  主要用來保存學生信息。</p><p>  3、TeacherTable1(教師信息表) </p><p>  用來儲存教師的基本信息</p><p>  4、CourseTable(課程信息表)</p><p><b>  用于存儲課程信息</b></p>

16、<p>  5、ScoreTable(學生成績表)</p><p><b>  用于存儲學生成績</b></p><p>  6、TeachTable(j教師授課表)</p><p><b>  用于存儲教師信息</b></p><p>  (8)數(shù)據(jù)庫賬戶及權(quán)限 (截圖)</p&

17、gt;<p><b>  1、學生賬戶表</b></p><p><b>  2、教師賬戶表</b></p><p><b>  3、用戶登錄表:</b></p><p> ?。?)數(shù)據(jù)庫存儲過程:</p><p>  1、AllCourse:</p>

18、<p>  create proc AllCourse</p><p><b>  as</b></p><p><b>  begin</b></p><p>  select x.CourseID,</p><p>  x.CourseName,x.Point ,</p>

19、;<p>  y.TeacherName,</p><p>  y.Post,z.Location,</p><p>  x.StuNumber</p><p><b>  from </b></p><p><b>  Course x,</b></p><p&g

20、t;  TeacherTable1 y,</p><p>  TeachTable z</p><p>  where x.CourseID=z.CourseID and y.TeacherID=z.TeacherID</p><p><b>  end</b></p><p>  2、DeleteLogon :<

21、/p><p>  create proc DeleteLogon(@id char(10))</p><p><b>  as</b></p><p><b>  begin </b></p><p>  delete from Logon</p><p>  where Use

22、rID=@id</p><p><b>  end</b></p><p>  3、DeleteStudent:</p><p>  create proc DeleteStudent(@id char(10))</p><p><b>  as</b></p><p>&l

23、t;b>  begin</b></p><p>  delete from StudentTable1</p><p>  where StudentID=@id</p><p><b>  end</b></p><p>  4、DeleteTeacher :</p><p>

24、  create proc DeleteTeacher(@id char(10))</p><p><b>  as</b></p><p><b>  begin</b></p><p>  delete from TeacherTable1</p><p>  where TeacherID=@

25、id</p><p><b>  end</b></p><p>  5、InsertLogon :</p><p>  create proc InsertLogon(@id char(10))</p><p><b>  as</b></p><p><b> 

26、 begin </b></p><p>  insert into Logon</p><p>  values(@id,@id)</p><p><b>  end</b></p><p>  6、InsertStudent :</p><p>  create proc Inser

27、tStudent(@userid char(10),@username char(10),@sex char(2),@birth datetime,@class char(10))</p><p><b>  as</b></p><p><b>  begin</b></p><p>  insert into Stud

28、entTable1 values(@userid ,@username,@sex,@birth,@class)</p><p><b>  end</b></p><p><b>  return</b></p><p>  7、InsertTeacher:</p><p>  create pro

29、c InsertTeacher(@userid char(10),@username char(10),@sex char(2),@birth datetime,@post char(10),@department char(10))</p><p><b>  as</b></p><p><b>  begin</b></p>

30、<p>  insert into TeacherTable1 values(@userid ,@username,@sex,@birth,@post,@department)</p><p><b>  end</b></p><p><b>  return</b></p><p>  8、IsExistsS

31、tu :</p><p>  create proc IsExistsStu(@id char(10))</p><p><b>  as</b></p><p><b>  begin </b></p><p>  select * from StudentTable1</p>&l

32、t;p>  where StudentID=@id</p><p><b>  end</b></p><p>  9、IsExistsTea:</p><p>  create proc IsExistsTea(@id char(10))</p><p><b>  as</b></p

33、><p><b>  begin </b></p><p>  select * from Teachertable1</p><p>  where TeacherID=@id</p><p><b>  end</b></p><p>  10、ProcAllStu :<

34、;/p><p>  create proc ProcAllStu</p><p><b>  as</b></p><p><b>  begin</b></p><p>  select * from StudentTable1</p><p><b>  end&l

35、t;/b></p><p>  11、ProcAllTea </p><p>  create proc ProcAllTea</p><p><b>  as</b></p><p><b>  begin</b></p><p>  select * from Te

36、acherTable1</p><p><b>  end</b></p><p>  12、ProcLogon:</p><p>  create proc ProcLogon(@userid char(16),@password char(10))</p><p><b>  as</b><

37、;/p><p><b>  begin</b></p><p><b>  select * </b></p><p>  from Logon </p><p>  where UserID=@userid and Password=@password</p><p><

38、b>  end</b></p><p><b>  return</b></p><p>  13、ProcModify:</p><p>  create proc ProcModify(@id char(10),@password char(16))</p><p><b>  as<

39、;/b></p><p><b>  begin</b></p><p>  update Logon </p><p>  set Password=@password</p><p>  where UserID=@id</p><p><b>  end</b>&

40、lt;/p><p>  14、ProcStudent :</p><p>  create proc ProcStudent(@id char(10))</p><p><b>  as</b></p><p><b>  begin</b></p><p>  select *

41、 from StudentTable1</p><p>  where StudentID=@id</p><p><b>  end</b></p><p>  15、SelectCourse :</p><p>  create proc SelectCourse(@id char(10),@courseid cha

42、r(16))</p><p><b>  as</b></p><p><b>  begin</b></p><p>  insert into ScoreTable</p><p>  values(@courseid,@id,null)</p><p><b>

43、;  end</b></p><p>  16、SelectedCourse: </p><p>  create proc SelectedCourse(@id char(10))</p><p><b>  as</b></p><p><b>  begin</b></p&g

44、t;<p>  select * from ScoreTable</p><p>  where @id=StudentID</p><p><b>  end</b></p><p>  17、SelectedCourseNum:</p><p>  create proc SelectedCourseN

45、um(@id char(10))</p><p><b>  as</b></p><p><b>  begin</b></p><p>  select COUNT(*)</p><p>  from Scoretable</p><p>  where StudentI

46、D=@id</p><p><b>  end</b></p><p>  18、SelectedDetail :</p><p>  create proc SelectedDetail(@id char(10))</p><p><b>  as</b></p><p>

47、<b>  begin</b></p><p>  select x.CourseID,x.CourseName,x.Point ,y.TeacherName,y.Post,z.Location,s.Score</p><p>  from Course x,TeacherTable1 y,TeachTable z,ScoreTable s</p>&l

48、t;p>  where @id=s.StudentIDand x.CourseID=z.CourseID and z.TeacherID=y.TeacherID</p><p>  and x.CourseID=s.CourseID</p><p><b>  end</b></p><p><b>  四、系統(tǒng)界面設(shè)計<

49、/b></p><p>  1、用戶登錄賬號和密碼</p><p><b>  2、窗體功能描述 </b></p><p>  登錄界面Logon.java</p><p>  管理員以帳號Admin密碼123登錄成功進入管理員的信息管理界面,通過點擊“學生信息管理”和“教師信息管理”進入不同的管理界面,學生信息管

50、理界面如下:</p><p>  教師信息管理界面如下:</p><p>  以學生帳號(如:帳號:S001001,密碼:S001001)登陸成功后進入如下界面,首先顯示的 是學生的基本信息:</p><p>  點擊“課程列表”按鈕進入如下界面</p><p>  根據(jù)自己的跟人興趣選擇課程,選擇的課程數(shù)目不能超過3門否則彈出對話框如下:&

51、lt;/p><p>  點擊“確定”跳轉(zhuǎn)到已選課程列表。</p><p>  在主界面點擊“已選課程”按鈕也可以進入下面的界面查看已經(jīng)選擇的課程:</p><p>  以教師帳號(如:帳號:T01001,密碼:T01001)登陸成功后進入如下界面,首先顯示的 是教師的基本信息,</p><p>  點擊“錄入成績”可以通過表格來錄入學生的成績,界

52、面如下圖所示:</p><p>  3、頁面/窗體關(guān)系結(jié)構(gòu)圖</p><p>  五、系統(tǒng)實現(xiàn)技術(shù)小結(jié)</p><p>  為了方便管理,將數(shù)據(jù)庫的封裝分成兩部分,數(shù)據(jù)庫資源配置文件和封裝數(shù)據(jù)庫操作的類SqlManager.java:</p><p>  數(shù)據(jù)庫資源配置文件sysConfig.properties:</p>&l

53、t;p>  #Sepecify the system type: window or unix</p><p>  system-type=windows</p><p>  #specify the database's type</p><p>  database-type=sqlserver</p><p>  #spe

54、cify some parameters</p><p>  DBhost=localhost</p><p>  DBport=1433</p><p>  DBname=StudentManager</p><p><b>  DBuser=sa</b></p><p>  DBpasswor

55、d=</p><p>  封裝數(shù)據(jù)庫操作的類:SqlManager.java</p><p>  import java.sql.*;</p><p>  import java.util.*;</p><p>  import javax.swing.JOptionPane;</p><p>  public cla

56、ss SqlManager {</p><p>  private static SqlManager p=null;</p><p>  private PropertyResourceBundle bundle;</p><p>  private static String jdbcDriver=null;</p><p>  priv

57、ate static String split=null;</p><p>  private String DBType=null;</p><p>  private String DBhost="localhost";</p><p>  private String DBname="";</p><

58、p>  private String DBport="";</p><p>  private String DBuser="";</p><p>  private String DBpassword="";</p><p>  private Connection Sqlconn=null;<

59、;/p><p>  private Statement Sqlstmt=null;</p><p>  private String strCon=null;</p><p>  private SqlManager(){</p><p><b>  try{</b></p><p>  bundle

60、=new PropertyResourceBundle(SqlManager.class.</p><p>  getResourceAsStream("/sysConfig.properties"));</p><p>  this.DBhost=getString("DBhost");</p><p>  this.DB

61、name=getString("DBname");</p><p>  this.DBport=getString("DBport");</p><p>  this.DBuser=getString("DBuser");</p><p>  this.DBpassword=getString("

62、DBpassword");</p><p>  String system_type=getString("system-type");</p><p>  if(system_type!=null){</p><p>  if(system_type!=null){</p><p>  if(system

63、_type.toLowerCase().equals("widows"))</p><p>  split=";";</p><p>  else if(system_type.toLowerCase().equals("unix"))</p><p>  split=":";</

64、p><p><b>  }</b></p><p>  String database_type=getString("database-type");</p><p>  this.DBType=database_type;</p><p>  if(database_type!=null){</

65、p><p>  if(database_type.toLowerCase().equals("mysql")){</p><p>  jdbcDriver="com.mysql.jdbc.Driver";</p><p>  strCon="jdbc:mysql://"+DBhost+":"

66、+DBport+"/"+DBname;</p><p><b>  }</b></p><p>  else if(database_type.toLowerCase().equals("oracle")){</p><p>  jdbcDriver="oracle.jdbc.driver.Or

67、acleDriver";</p><p>  strCon="jdbc:oracle:thin:@"+DBhost+":"+DBport+":"+DBname;</p><p><b>  }</b></p><p>  else if(database_type.toLow

68、erCase().equals("sqlserver")){</p><p>  jdbcDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";</p><p>  strCon="jdbc:microsoft:sqlserver://"+DBhost+":"

69、;+DBport+";DatabaseName="+DBname;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  }catch(Exception e){<

70、/p><p>  e.printStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p>  public static SqlManager createInstance(){</p><p>  if(p==n

71、ull)</p><p><b>  {</b></p><p>  p=new SqlManager();</p><p>  p.initDB();</p><p><b>  }</b></p><p><b>  return p;</b><

72、;/p><p><b>  }</b></p><p>  private String getString(String s)</p><p><b>  {</b></p><p>  return this.bundle.getString(s);</p><p><

73、b>  }</b></p><p>  public void initDB(){</p><p>  System.out.println(strCon);</p><p>  System.out.println(jdbcDriver);</p><p><b>  try{</b></p&g

74、t;<p>  Class.forName(jdbcDriver);</p><p>  }catch(Exception ex){</p><p>  System.err.println("Can't Find Database Driver.");</p><p><b>  }</b></

75、p><p><b>  }</b></p><p>  public void connectDB(){</p><p><b>  try{</b></p><p>  System.out.println("SqlManager:Connecting to database..."

76、;);</p><p>  Sqlconn=DriverManager.getConnection(strCon,DBuser,DBpassword);</p><p>  Sqlstmt=Sqlconn.createStatement();</p><p>  }catch(SQLException ex){</p><p>  Syste

77、m.err.println("connectDB"+ex.getMessage());</p><p><b>  }</b></p><p>  System.out.println("SqlManager:Connect to database successful.");</p><p><b

78、>  }</b></p><p>  public void closeDB(){</p><p><b>  try{</b></p><p>  System.out.println("SqlManager:Close connection to database...");</p>&l

79、t;p>  Sqlstmt.close();</p><p>  Sqlconn.close();</p><p>  }catch(SQLException ex){</p><p>  System.err.println("closeDB:"+ex.getMessage());</p><p><b>

80、;  }</b></p><p>  System.out.println("Sqlmanager:Close connection successful.");</p><p><b>  }</b></p><p>  public int executeUpdate(String sql){</p&g

81、t;<p>  int ret=0;</p><p><b>  try{</b></p><p>  ret=Sqlstmt.executeUpdate(sql);</p><p>  }catch(SQLException ex)</p><p><b>  {</b></p

82、><p>  System.out.println("executeUpdate:"+ex.getMessage());</p><p><b>  }</b></p><p>  return ret;</p><p><b>  }</b></p><p>

83、;  public ResultSet executeQuery(String sql){</p><p>  ResultSet rs=null;</p><p><b>  try{</b></p><p>  rs=Sqlstmt.executeQuery(sql);</p><p>  }catch(SQLExc

84、eption ex){</p><p>  System.err.println("executeQuery:"+ex.getMessage());</p><p><b>  }</b></p><p>  return rs;</p><p><b>  }</b></

85、p><p>  public static void main(String args[]){</p><p>  SqlManager.createInstance().connectDB();</p><p>  SqlManager.createInstance().closeDB();</p><p><b>  }</b

86、></p><p><b>  }</b></p><p><b>  六、課程設(shè)計體會</b></p><p>  該系統(tǒng)主要實現(xiàn)了學生選課的功能,這個系統(tǒng)是我們小組獨立完成,從需求分析,界面的搭建,到數(shù)據(jù)庫的連接,表格,存儲過程和存儲過程等的建立,在這段時間的摸索中,我們確實學到了很多東西,特別是對以前不太了解的

87、Java Swing組件有了更深刻的了解。比如JTable,對于它的用法我在網(wǎng)上找了很多資料,JTable的建立有各種不同的方法,可以使用DefaultTableModel類來實現(xiàn),如DefaultTableModel dtm=new DefaultTableModel(new Object [] {"","課程編號","課程名稱","學分","任

88、課教師","教師職稱","上課地點","以選人數(shù)"},0));然后再table.setModel(dtm); 或者繼承AbstractTableModel類,還有對于如何在JTable中添加Swing組件,原本我們是直接新建一個JcheckBox對象直接添加到表格的 單元格里,結(jié)果發(fā)現(xiàn)只能顯示出一串字符串,上網(wǎng)查找后才知道,要用DefaultCellEditor來添加

89、Swing組件,再設(shè)置setCellRenderer(new MyTableRe</p><p>  七、系統(tǒng)主要源程序清單</p><p>  AdmPanel.java:</p><p>  public class AdmPanel extends JPanel implements ActionListener,ItemListener,MouseListe

90、ner</p><p><b>  {</b></p><p>  JButton b1,b2,b3,b4,b5,b6;</p><p>  JPanel p1,p2,pCenter;</p><p>  CardLayout card=null;</p><p>  JTextField t1=

91、new JTextField(10),</p><p>  t2=new JTextField(10),</p><p>  t3=new JTextField(10),</p><p>  tt1=new JTextField(10),</p><p>  tt2=new JTextField(10),</p><p&g

92、t;  tt3=new JTextField(10);</p><p>  ButtonGroup sex1=new ButtonGroup(),</p><p>  sex2=new ButtonGroup();</p><p>  JRadioButton radio1=new JRadioButton("男",true),</p>

93、;<p>  radio2=new JRadioButton("女");</p><p>  JRadioButton r1=new JRadioButton("男",true),</p><p>  r2=new JRadioButton("女");</p><p>  JComboBox

94、year,month,date,yy,mm,dd,post;</p><p>  JTable table1,table2;</p><p>  Vector vectorColName1=new Vector(),</p><p>  vectorColName2=new Vector();</p><p>  Vector vector1

95、=new Vector(),</p><p>  vector2=new Vector();</p><p>  DefaultTableModel model1=new DefaultTableModel(vectorColName1,0){</p><p>  public boolean isCellEditable(int row, int column)&

96、lt;/p><p><b>  {</b></p><p>  return false;</p><p><b>  }</b></p><p><b>  };</b></p><p>  DefaultTableModel model2=new Def

97、aultTableModel(vectorColName2,0){</p><p>  public boolean isCellEditable(int row, int column)</p><p><b>  {</b></p><p>  return false;</p><p><b>  }&l

98、t;/b></p><p><b>  };</b></p><p>  AdmPanel()</p><p><b>  {</b></p><p>  setLayout(new BorderLayout());</p><p>  t1=new JTextFiel

99、d(10);</p><p>  t2=new JTextField(10);</p><p>  t3=new JTextField(10);</p><p>  tt1=new JTextField(10);</p><p>  tt2=new JTextField(10);</p><p>  tt3=new J

100、TextField(10);</p><p>  sex1.add(radio1);</p><p>  sex1.add(radio2);</p><p>  sex2.add(r1);</p><p>  sex2.add(r2);</p><p>  year=new JComboBox();</p>

101、<p>  month=new JComboBox();</p><p>  date=new JComboBox();</p><p>  yy=new JComboBox();</p><p>  mm=new JComboBox();</p><p>  dd=new JComboBox();</p><

102、;p>  post=new JComboBox();</p><p>  post.addItem("助教");</p><p>  post.addItem("講師");</p><p>  post.addItem("副教授");</p><p>  post.addIte

103、m("教授");</p><p>  for(int i=1980;i<1995;i++)</p><p>  year.addItem(i);</p><p>  for(int i=1;i<=12;i++)</p><p>  month.addItem(i);</p><p>  

104、for(int i=1;i<=31;i++)</p><p>  date.addItem(i);</p><p>  for(int i=1950;i<1995;i++)</p><p>  yy.addItem(i);</p><p>  for(int i=1;i<=12;i++)</p><p&g

105、t;  mm.addItem(i);</p><p>  for(int i=1;i<=31;i++)</p><p>  dd.addItem(i);</p><p>  year.addItemListener(this);</p><p>  month.addItemListener(this);</p><

106、p>  yy.addItemListener(this);</p><p>  mm.addItemListener(this);</p><p>  post.addItemListener(this);</p><p>  b1=new JButton("學生信息管理");</p><p>  b2=new JB

107、utton("教師信息管理");</p><p>  b3=new JButton("輸入");</p><p>  b4=new JButton("刪除");</p><p>  b5=new JButton("輸入");</p><p>  b6=new JB

108、utton("刪除");</p><p>  b1.addActionListener(this);</p><p>  b2.addActionListener(this);</p><p>  b3.addActionListener(this);</p><p>  b4.addActionListener(this

109、);</p><p>  b5.addActionListener(this);</p><p>  b6.addActionListener(this);</p><p>  JPanel p0=new JPanel();</p><p>  p0.add(b1);</p><p>  p0.add(b2);<

110、/p><p>  pCenter=new JPanel();</p><p>  card=new CardLayout();</p><p>  pCenter.setLayout(card);</p><p>  p1=createStuPanel();</p><p>  p2=createTeaPanel();&l

111、t;/p><p>  pCenter.add("學生信息管理",p1);</p><p>  pCenter.add("教師信息管理",p2);</p><p>  add(p0,BorderLayout.NORTH);</p><p>  add(pCenter,BorderLayout.CENTER);

112、</p><p><b>  }</b></p><p>  private JPanel createStuPanel()</p><p><b>  {</b></p><p>  JPanel p=new JPanel();</p><p>  JScrollPane

113、p1;</p><p>  JPanel p2=new JPanel();</p><p>  p.setLayout(new GridLayout(2,1));</p><p>  SqlManager DBm=SqlManager.createInstance();//單態(tài)模式獲取實例</p><p>  DBm.connectDB();

114、</p><p>  String sql="exec ProcAllStu";</p><p>  ResultSet rs=DBm.executeQuery(sql);</p><p>  vectorColName1.addElement("學號"); </p><p>  vectorCol

115、Name1.addElement("姓名"); </p><p>  vectorColName1.addElement("性別"); </p><p>  vectorColName1.addElement("生日"); </p><p>  vectorColName1.addElement

116、("班級");</p><p>  model1.setDataVector(vector1,vectorColName1);</p><p>  table1=new JTable(model1);</p><p>  table1.addMouseListener(this);</p><p>  p1=new JSc

117、rollPane(table1);</p><p>  p.add(p1);</p><p><b>  try{</b></p><p>  while(rs.next()){ </p><p>  Vector rec_vector=new Vector();//從結(jié)果集中取數(shù)據(jù)放入向量rec_vect

118、or中 </p><p>  rec_vector.addElement(rs.getString(1)); </p><p>  rec_vector.addElement(rs.getString(2)); </p><p>  rec_vector.addElement(rs.getString(3)); </p><p&g

119、t;  rec_vector.addElement(rs.getString(4)); </p><p>  rec_vector.addElement(rs.getString(5)); </p><p>  vector1.addElement(rec_vector);//向量rec_vector加入向量vect中 </p><p><b>

120、;  } </b></p><p>  rs.close();</p><p>  }catch(SQLException e){</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p>  DBm.closeDB();

121、</p><p><b>  //構(gòu)造p2</b></p><p>  Box base=Box.createHorizontalBox(),</p><p>  boxleft=Box.createVerticalBox(),</p><p>  boxright=Box.createVerticalBox();&l

122、t;/p><p>  JPanel pp1=new JPanel(),</p><p>  pp2=new JPanel(),</p><p>  pp3=new JPanel(),</p><p>  pp4=new JPanel(),</p><p>  pp5=new JPanel(),</p><

123、;p>  pp6=new JPanel(),</p><p>  psex=new JPanel(),</p><p>  pbirth=new JPanel();</p><p>  psex.add(radio1);</p><p>  psex.add(radio2);</p><p>  pbirth.a

124、dd(year);</p><p>  pbirth.add(month);</p><p>  pbirth.add(date);</p><p>  pp1.add(new JLabel("學生編號:"));</p><p>  pp1.add(t1);</p><p>  pp2.add(ne

125、w JLabel("學生姓名:"));</p><p>  pp2.add(t2);</p><p>  pp3.add(new JLabel("學生性別:"));</p><p>  pp3.add(psex);</p><p>  pp4.add(new JLabel("學生生日:&quo

126、t;));</p><p>  pp4.add(pbirth);</p><p>  pp5.add(new JLabel("所在班級:"));</p><p>  pp5.add(t3);</p><p>  pp6.add(b3);</p><p>  pp6.add(b4);</p>

127、;<p>  boxleft.add(Box.createVerticalStrut(30));</p><p>  boxleft.add(pp1);</p><p>  boxleft.add(Box.createVerticalStrut(20));</p><p>  boxleft.add(pp2);</p><p>

128、  boxleft.add(Box.createVerticalStrut(20));</p><p>  boxleft.add(pp3);</p><p>  boxright.add(Box.createVerticalStrut(20));</p><p>  boxright.add(pp4);</p><p>  boxright

129、.add(Box.createVerticalStrut(20));</p><p>  boxright.add(pp5);</p><p>  boxright.add(Box.createVerticalStrut(20));</p><p>  boxright.add(pp6);</p><p>  base.add(boxleft

130、);</p><p>  base.add(Box.createHorizontalStrut(80));</p><p>  base.add(boxright);</p><p>  p2.add(base);</p><p>  p.add(p2);</p><p><b>  return p;<

131、;/b></p><p><b>  }</b></p><p>  private JPanel createTeaPanel()</p><p><b>  {</b></p><p>  JPanel p=new JPanel();</p><p>  JScro

132、llPane p1;</p><p>  JPanel p2=new JPanel();</p><p>  p.setLayout(new GridLayout(2,1));</p><p>  SqlManager DBm=SqlManager.createInstance();//單態(tài)模式獲取實例</p><p>  DBm.con

133、nectDB();</p><p>  String sql="exec ProcAllTea";</p><p>  ResultSet rs=DBm.executeQuery(sql);</p><p>  vectorColName2.addElement("教師編號"); </p><p>

134、;  vectorColName2.addElement("教師姓名"); </p><p>  vectorColName2.addElement("教師性別"); </p><p>  vectorColName2.addElement("生日"); </p><p>  vectorCol

135、Name2.addElement("職稱");</p><p>  vectorColName2.addElement("所在院系");</p><p>  model2.setDataVector(vector2,vectorColName2);</p><p>  table2=new JTable(model2);<

136、;/p><p>  table2.addMouseListener(this);</p><p>  p1=new JScrollPane(table2);</p><p>  p.add(p1);</p><p><b>  try{</b></p><p>  while(rs.next()){

溫馨提示

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

評論

0/150

提交評論