學生管理系統(tǒng)的數(shù)據(jù)庫操作_第1頁
學生管理系統(tǒng)的數(shù)據(jù)庫操作_第2頁
學生管理系統(tǒng)的數(shù)據(jù)庫操作_第3頁
學生管理系統(tǒng)的數(shù)據(jù)庫操作_第4頁
學生管理系統(tǒng)的數(shù)據(jù)庫操作_第5頁
已閱讀5頁,還剩77頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

使用Java開發(fā)數(shù)據(jù)庫應用程序1單元4學生管理系統(tǒng)的數(shù)據(jù)庫操作任務1建立數(shù)據(jù)庫及表任務2利用JDBC訪問數(shù)據(jù)庫任務3完善登錄功能任務4向數(shù)據(jù)庫添加學生信息任務5從數(shù)據(jù)庫中刪除學生信息任務6修改數(shù)據(jù)庫中的學生信息2任務1建立數(shù)據(jù)庫及表4.1.1知識準備4.1.2工作過程34.1.1知識準備1.數(shù)據(jù)庫概念數(shù)據(jù)庫是現(xiàn)代信息系統(tǒng)的核心技術。我們知道,信息系統(tǒng)中有大量需要持久存儲、重復使用的數(shù)據(jù),而數(shù)據(jù)庫技術就是管理數(shù)據(jù)的工具,其管理的數(shù)據(jù)具有最小冗余度和較高的數(shù)據(jù)與程序的獨立性,而且數(shù)據(jù)庫能保證數(shù)據(jù)的安全性,維護數(shù)據(jù)的一致性。常用的數(shù)據(jù)庫系統(tǒng)有Oracle、Sybase、DB2、SQLServer、MySQL、Access等。我們使用SQLServer作為學習Java數(shù)據(jù)庫編程技術的平臺。在關系數(shù)據(jù)庫中,數(shù)據(jù)庫由一張張表組成,表又有多個字段。一個表中可以存儲多條記錄,類似于我們平常見到的表格,以行和列的形式來表示數(shù)據(jù)。表和表之間還可以有關聯(lián)關系。42.SQL語言SQL是一種數(shù)據(jù)庫查詢和編程語言,所有的主流數(shù)據(jù)庫都可以使用SQL進行操作。我們想在Java編程環(huán)境中操作數(shù)據(jù)庫,也需要使用SQL語句。根據(jù)使用功能,SQL語言主要有數(shù)據(jù)操作和數(shù)據(jù)定義兩大類。本節(jié)子先介紹數(shù)據(jù)定義語句,數(shù)據(jù)操作語句在后面的子任務中再講解。常用的數(shù)據(jù)定義語句是drop和create。(1)drop語句格式刪除數(shù)據(jù)庫:drop數(shù)據(jù)庫名刪除表:drop表名(2)create語句格式新建數(shù)據(jù)庫:create數(shù)據(jù)庫名新建表:createtable表名(字段名1數(shù)據(jù)類型,字段名2數(shù)據(jù)類型,…)新建表時要指定字段類型,常用的類型有:5char(size):定長字符串,size是字符串的最大長度varchar:變長字符串int:整型float:實型datetime:日期時間型3.數(shù)據(jù)庫表的設計分析學生管理系統(tǒng),其主要功能是對學生基本信息和成績信息進行管理,共需要建6張表,分別為用戶表、學院表、班級表、學生表、課程表、成績表。由于時間的原因,課堂上主要以學生信息的操作為例進行系統(tǒng)開發(fā),因此主要介紹前4張表。(1)用戶表:記錄用戶信息,包括用戶名、密碼、用戶類型,如表4.1所示。6字段名稱數(shù)據(jù)類型字段大小是否主鍵字段說明UserNamevarchar20是用戶名稱Passwordvarchar20否用戶密碼UserTypechar10否用戶類型表4.1用戶表(UserInfo)7表4.2院系表(Department)字段名稱數(shù)據(jù)類型字段大小是否主鍵字段說明DeptIdchar12是院系號DeptNamevarchar30否院系名稱建立該表的SQL語句如下:CreatetableDepartment(DeptIdchar(12)primarykey,DeptNamevarchar(30)notnull)(3)班級表:記錄班級信息,包含班號、班名、所屬學院號3個字段,如表4.3所示。8表4.3班級表(Class)字段名稱數(shù)據(jù)類型字段大小是否主鍵字段說明ClassIdchar12是班級號ClassNamevarchar30否班級名稱DeptIdchar12是所屬院系號建立該表的SQL語句如下:CreatetableClass(ClassIdchar(12)primarykey,ClassNamevarchar(30)notnull,DeptIdchar(12)notnull),constraintClass_fkforeignkey(DeptId)referencesDepartment(DeptId)(4)學生表:記錄學生的基本信息,包括學生的學號、姓名、性別等,如表4.4所示。9表4.4學生表(Student)字段名稱數(shù)據(jù)類型字段大小是否主鍵字段說明StuIdchar12是學號StuNamevarchar20否姓名StuSexchar1否性別Birthdaydatetime否出生日期Addressvarchar60否家庭住址ClassIdchar12否所屬班號DeptIdchar12否所屬院系號10建立該表的SQL語句如下:CreatetableStudent(StuIdchar(12)primarykey,StuNamevarchar(20)notnull,StuSexchar(1)notnull,Birthdaydatetime,Addressvarchar(60),ClassIdchar(12)notnull,DeptIdchar(12)notnull),constraintStudent_fk1foreignkey(ClassId)referencesClass(ClassId),constraintStudent_fk2foreignkey(DeptId)referencesDepartment(DeptId)114.1.2工作過程假定計算機上已經(jīng)安裝了SQLServer2005數(shù)據(jù)庫管理系統(tǒng),并且設置SQLServer身份驗證方式下的登錄名為sa,密碼為sa。建立數(shù)據(jù)庫及表的步驟如下:(1)啟動SQLServer2005選擇【開始】→【所有程序】→【MicrosoftSQLServer2005】→【SQLServerManagementStudio】,在彈出的“連接到服務器”對話框中輸入正確的登錄信息,如圖4.1所示。然后單擊“連接”按鈕,就會啟動SQLServer2005數(shù)據(jù)庫服務器。(2)建立數(shù)據(jù)庫在界面左側的對象資源管理器中,選擇“數(shù)據(jù)庫”,右擊選擇“新建數(shù)據(jù)庫”,如圖4.2所示,在彈出“新建數(shù)據(jù)庫”對話框中,在數(shù)據(jù)庫名稱一項中輸入StuDB,單擊“確定”按鈕,則新建了一個數(shù)據(jù)庫。12圖4.1啟動SQLServer200513圖4.2新建數(shù)據(jù)庫圖4.3新建用戶表14(3)建立數(shù)據(jù)庫表選擇新建的StuDB數(shù)據(jù)庫,單擊其前面的“+”按鈕,選擇“表”,右擊選擇“新建表”,則彈出新建表的表格。在表中輸入列名,選擇類型,是否為空信息,然后在下一行單擊繼續(xù)輸入下一列信息,直到輸入表中的全部列信息。單擊保存按鈕,輸入表名UserInfo,最后單擊“確定”按鈕。這樣我們就在新建的數(shù)據(jù)庫StuDB中建立一張表UserInfo,如圖4.3。(4)參考上面建表操作和前面所述的表說明,依次建立院系表、班級表和學生表。(5)為了便于數(shù)據(jù)操作,給每個表中都輸入一些測試數(shù)據(jù)。15任務2利用JDBC訪問數(shù)據(jù)庫4.2.1知識準備4.2.2工作過程164.2.1知識準備1.JDBC簡介JDBC是Java數(shù)據(jù)庫連接(JavaDataBaseConnectivit)技術的簡稱,利用JDBC技術可以很方便地使用SQL語言操作各種數(shù)據(jù)庫。JDK中提供JDBC功能的主要是java.sql包和javax.sql包。(1)JDBC數(shù)據(jù)庫驅(qū)動數(shù)據(jù)庫驅(qū)動程序是連接不同數(shù)據(jù)庫產(chǎn)品時,處理相關數(shù)據(jù)庫的低層操作的代碼。不同的數(shù)據(jù)庫使用不同的驅(qū)動程序,通常由數(shù)據(jù)庫廠商提供。SQLServer2005的驅(qū)動程序是一個壓縮文件sqljdbc.jar,可以從微軟官方網(wǎng)站上下載。(2)JDBCDriverManagerSun公司提供JDBCDriverManager類,它能夠管理各種不同的JDBC驅(qū)動。17(3)JDBCAPIJDBCAPI由Sun公司提供,提供了Java應用程序與各種不同數(shù)據(jù)庫交互的標準接口,如Connection(連接)接口、Statement接口、PreparedStatement接口、ResultSet(結果集)接口等。開發(fā)者使用這些JDBC接口進行各類數(shù)據(jù)庫操作。2.JDBC基本編程模式開發(fā)一個JDBC程序,有以下基本步驟:(1)把JDBC驅(qū)動類裝載入Java虛擬機中。通過調(diào)用Class.forName()方法,可以把給定的JDBC驅(qū)動類裝載到Java虛擬機中。如果系統(tǒng)中不存在給定的類,則會引發(fā)異常,異常類型為ClassNotFoundException。代碼示例:Class.forName(“JDBC驅(qū)動類的名稱”);1819(4)發(fā)送SQL語句,并得到結果。SQL操作語句可歸為兩大類,一類是增、刪、改,返回的是整數(shù),其值是受影響行數(shù)另一類是查詢,返回的是結果集。Statement的executeUpdate()方法,可以將增刪改的SQL語句傳遞給它所連接的數(shù)據(jù)庫,返回受影響行數(shù)。Statement的executeQurey()方法,可以將查詢的SQL語句傳遞給它所連接的數(shù)據(jù)庫,并返回類型為ResultSet的對象,它包含執(zhí)行SQL查詢的結果。代碼示例:inti=stmt.execute(“insertintoTable1values(“1”,“2”,“3”);//執(zhí)行插入語句ResultSetrs=stmt.executeQuery(“SELECTa,b,cFROMTable1”);//執(zhí)行查詢語句(5)處理結果。2021異常是在程序的運行過程中所發(fā)生的不正常的事件,它會中斷正在運行的程序。例如,數(shù)據(jù)庫連接失敗就會產(chǎn)生異常。Java語言使用異常處理機制為程序提供了錯誤處理的能力。Java使用try-catch-finally塊捕獲并處理異常,語法形式為:try{//可能發(fā)生異常的代碼}catch(異常類型e){//對異常進行處理的代碼}finally{//總要被執(zhí)行的代碼}22當try塊中的代碼發(fā)生異常時,會產(chǎn)生異常。異常是一類特殊的對象,當異常對象的類型與catch后的異常類型匹配時,則可以捕獲到異常,此時catch塊中的異常處理代碼執(zhí)行。而finally中的代碼無論是否發(fā)生異常都會執(zhí)行。234.2.2工作過程(1)在MyEclipse中打開StudentManager項目,加載JDBC驅(qū)動程序的jar包。學生管理系統(tǒng)用的數(shù)據(jù)庫是SQLServer2005,驅(qū)動程序是sqljdbc.jar。首先將sqljdbc.jar復制到項目中,然后在PackageExplorer中選中StudentManager項目節(jié)點,右擊設置JavaBuildPath,點擊Libraries標簽頁,單擊“AddJARs”按鈕,選擇添加項目內(nèi)的jar文件到類路徑,則可以把jar包引入工程。(2)設計StuManager項目的目錄結構,前面已經(jīng)建了view包,界面類放在其中。在再項目下建立dao包和entity包,dao包中放數(shù)據(jù)庫操作類,entity包中放實體類。(3)新建BaseDao類,負責數(shù)據(jù)庫的連接與關閉。24數(shù)據(jù)庫的連接與關閉代碼在每個例子中都是有共同之處的。我們把這些共同的東西抽象出來,封裝成類,可以實現(xiàn)代碼復用。新建BaseDao類,完成數(shù)據(jù)庫的連接與關閉功能,。今后在連接和關閉數(shù)據(jù)庫時,可以直接應用該類,類代碼如下。252622 if(dbConnection!=null&&(!dbConnection.isClosed())){23 dbConnection.close();24 }25 }catch(SQLExceptionsqlEx){26 sqlEx.printStackTrace();27 }28 }29 publicstaticvoidcloseStatement(PreparedStatementpStatement)//關閉語句29 {30 try{31 if(pStatement!=null){2732 pStatement.close();33 pStatement=null;34 }35 }catch(SQLExceptione){36 e.printStackTrace();37 }38 }39 }40 publicstaticvoidcloseResultSet(ResultSetres)//關閉結果集41 {42 try{43 if(res!=null){44 res.close();45 res=null;2846 }47 }catch(SQLExceptione){48 e.printStackTrace();49 }50 } 29法。在右鍵菜單中選擇“source”→“GenerateConstructorusingFields”,可以自動生成帶參數(shù)的構造方法。在右鍵菜單中選擇“source”→“GenerateConstructorsfromSuperclass”,可以自動生成帶無參數(shù)的構造方法。UserInfo類的代碼如下:303125 }26 publicStringgetUserType(){27 returnuserType;28 }29 publicvoidsetUserType(StringuserTypee){30 this.userType=userType;31 }32 }(4)新建UserDao類,包含插入新用戶的方法intinsertUser(UserInfouser1)1 packagedao;2 importjava.sql.*;3 importjava.util.*;3233343 UserInfouser1=newUserInfo(“admin”,”123456”,”管理員”);3 flag=UserDao.insertUser(user1);4 if(flag==1)5 System.out.println(“插入成功”);6 else7 System.out.println(“插入失敗”);8 }9 }35圖4.4測試結果36任務3完善登錄功能

4.3.1知識準備4.3.2工作過程374.3.1知識準備1.如何實現(xiàn)登錄驗證登錄模塊是所有系統(tǒng)的必備功能,在前面第3章的任務中,我們已經(jīng)創(chuàng)建了登錄窗體,并實現(xiàn)了窗體按鈕的單擊事件,但是,當時用于進行用戶驗證的用戶名、密碼、身份類型是固定的,而在實際信息系統(tǒng)中,用戶信息是存儲在數(shù)據(jù)庫中,因此需要判斷用戶輸入的登錄信息是否與數(shù)據(jù)庫中的信息匹配。進行登錄驗證的基本思路是:(1)從登錄界面中獲取用戶輸入。(2)查詢數(shù)據(jù)庫,判斷用戶表中是否有該用戶。(3)根據(jù)判斷結果進行窗體跳轉(zhuǎn)。382.SELECT語句要進行查詢操作,需要用到Select語句。Select語句的作用就是查詢存儲于數(shù)據(jù)庫表中的數(shù)據(jù)。select語句的常用格式如下:select字段1[,字段2,…]from表名[where選擇條件][orderby排序條件]其中:①位于select關鍵詞之后的字段名是指定作為查詢結果返回的列表,用戶可以按照自己的需要選擇任意字段,還可以使用通配符“*”來表示表格中的所有字段。②位于from關鍵詞之后的表名是要進行查詢操作的表格名稱,可以是一張表,也可以是多張表。③where子句是可選項,用于指定從表中查詢數(shù)據(jù)的條件,從而決定哪些行將被作為查詢結果返回或顯示。39④orderby子句也是可選項,用于指定對輸出結果進行排序的列名,默認是按升序排列,如果需要按降序排列,則在其排序字段后使用關鍵字desc。例如:查詢所有男學生的學號和姓名,按年齡從大到小的順序排列,則SQL語句為selectstuNo,stuNameformstudentwherestuSex=’男’orderbyBirthday404.3.1知識準備(1)在UserDao類中添加方法checkValid(UserInfouser),用于進行用戶驗證。該方法返回布爾型值,如果為真,則表示是合法用戶,否則不是合法用戶。方法代碼如下:1 publicstaticbooleancheckValid(UserInfouser1)2 {3 Connectionconn=null;4 Statementstmt=null;5 ResultSetrs=null;6 booleanvalid=false;try{

conn=BaseDao.getConnection();41421 importentity.UserInfo;2 importdao.UserDao;(2)在登錄界面loginFrame類的其它import語句后面,添加兩個導入語句:(3)修改登錄界面的“確定”按鈕的單擊事件代碼。434419 } 20 }21 });(4)運行登錄界面,輸入前面添加成功的用戶信息,測試登錄驗證是否有效。45任務4向數(shù)據(jù)庫添加學生信息4.4.1知識準備4.4.2工作過程464.4.1知識準備1.INSERT語句insert語句的作用是插入一行數(shù)據(jù)到數(shù)據(jù)庫表中,insert語句的常用格式如下:insertinto表名[(列名表)]values(對應列值表)其中:①表名是要插入數(shù)據(jù)的表名。②列名表是一個可選項,用于指定要插入數(shù)據(jù)值的列名的列表。③對應列值表是按照表定義或者列名表所規(guī)定的次序的列值表。insert語句的用法舉例:插入一個用戶名為zhangsan,密碼為zhang123,用戶類型為學生的用戶到表UserInfo中,則使用的SQL語句為:insertintoUserInfovalues(‘zhangsan’,‘zhang123’,‘學生’);472.List接口和ArrayList類Java提供集合框架,存儲對象數(shù)據(jù)。ArrayList可簡單理解為可變大小的數(shù)組,ArrayList類實現(xiàn)了List接口。ArrayListList的常用方法:ArrayList():構造方法,創(chuàng)建ArrayList對象add():添加對象到集合中size():返回集合的長度,即集合中對象的個數(shù)代碼示例:ArrayListlist=newArrayList();list.add(“北京”);list.add(“天津”);for(inti=0;i<list.size();i++)//循環(huán)輸出集合中的對象{Strings=(String)list.get(i);System.out.println(s);}484.4.2工作過程(1)在entity包下,創(chuàng)建院系實體類Department,定義屬性deptId、deptName。從右鍵菜單中選擇source,添加無參和有參構造方法,以及getter/setter方法。屬性變量如下:1 privateStringdeptId;2 privateStringdeptName;(2)創(chuàng)建班級實體類Class,包含屬性classId、className、deptId,并生成所需方法。1 privateStringclassId;2 privateStringclassName;3 privateStringdeptId;49(3)創(chuàng)建學生實體類Student,包含8個屬性,屬性變量如下:1 privateStringstuId;2 privateStringstuName;3 privateStringstuSex;4 privateDatebirthday;5 privateStringphone;6 privateStringaddress;7 privateStringdeptId;8 privateStringclassId;(4)創(chuàng)建DeptDao類,添加方法getAllDept()方法,功能是獲取所有的院系名稱。501 packagedao;2 importjava.sql.*;3 importjava.util.List;4 importjava.util.ArrayList;5 importentity.Department;6 publicclassDeptDao{7 publicstaticListgetAllDept()8 { 9 Listlist=newArrayList();10 Connectionconn=null;11 Statementstmt=null;12 ResultSetrs=null;13 Stringsql=null;515227 }28 returnlist;29 }30 }(5)創(chuàng)建ClassDao類,添加方法getClassByDeptName(StringdeptName)方法,功能是根據(jù)給定的院系名稱得到所在院系的所有班級名稱。1 packagedao;2 importjava.sql.*;3 importjava.util.List;4 importjava.util.ArrayList;5 importentity.Class;6 publicclassClassDao{7 publicstaticListgetClassByDeptName(StringdeptName)535421 }22 }catch(SQLExceptionse){23 se.printStackTrace();24 }finally{25 BaseDao.closeConnection(conn);26 }27 returnlist;28 }}(6)在學生信息編輯類AddStu中導入需要的類,修改getCmbDept()方法,實現(xiàn)動態(tài)添加院系和班級,代碼如下:1 privateJComboBoxgetCmbDept(){2 if(cmbDept==null){3 Listlist=DeptDao.getAllDept();4 cmbDept=newJComboBox();555 cmbDept.addItem(“==請選擇==“);6 for(inti=0;i<list.size();i++)7 {8 cmbDept.addItem(((Department)list.get(i)).getDeptName());//添加院系選項9 }10 cmbDept.setBounds(newRectangle(115,214,136,26));11 cmbDept.addItemListener(newjava.awt.event.ItemListener(){12 publicvoiditemStateChanged(java.awt.event.ItemEvente){13 Stringname=cmbDept.getSelectedItem().toString();//獲取所選院系名稱5614Listlist=ClassDao.getClassByDeptName(name);//獲取班級列表15 jComboBoxClass.removeAllItems();16 for(inti=0;i<list.size();i++) {17jComboBoxClass.addItem((String)list.get(i));//添加班級選項18 }19 }20 });21 }22 returncmbDept;23 }(7)DeptDao類中寫方法getDeptIdbyDeptName(),根據(jù)系部名稱獲取系部ID,代碼如下:575814 }15 }catch(SQLExceptionse){16 se.printStackTrace();17 }finally{18 BaseDao.closeConnection(conn);19 }20 returndeptId;21 }(8)ClassDao類中寫方法getClassIdbyClassName(),根據(jù)班級名稱獲取班級ID,代碼如下:1 publicstaticStringgetClassIdbyClassName(StringclassName) {2 StringclassId=null;3 Connectionconn=null;596017 se.printStackTrace();18 }finally{19 BaseDao.closeConnection(conn);20 }21 returnclassId;22 }(9)創(chuàng)建StuDao類,增加方法insertStudent(),功能是插入一個學生信息。代碼如下:1 publicstaticintinsertStudent(Studentstu){2 Connectionconn=null;3 Statementstmt=null;4 intflag=0;5 try{6 conn=BaseDao.getConnection();616218 flag=stmt.executeUpdate(sql);19 }catch(SQLExceptionse){20 se.printStackTrace();21 }finally{22 BaseDao.closeConnection(conn);23 }24 returnflag;25 }(10)為“確定”按鈕添加Action事件處理,根據(jù)輸入的信息,添加一個學生信息到數(shù)據(jù)庫中,代碼如下:1 Studentstu=newStudent();2 stu.setStuId(txtSno.getText());3 stu.setStuName(txtName.getText());4 stu.setStuSex(635 Datedate=null;6 try{ SimpleDateFormatsimpleDateFormat=newSimpleDateFormat(“yyyy-MM-dd”);7 date=simpleDateFormat.parse(“txtBirthday.getText()”);//字符串轉(zhuǎn)化Date8 }catch(Exceptione){9 e.printStackTrace();10 }11 stu.setBirthday(date);12 stu.setPhone(txtPhone.getText());13 stu.setAddress(txtAddress.getText());14 stu.setDeptId(DeptDao.getDeptIdbyDeptName(cmbDept.getSelectedItem().toSting()));15 stu.setClassId(ClassDao.getClassIdbyClassName(cmbClass.getSelectedItem().toString()));6416 intnum=StuDao.insertStudent(stu);17 if(num>0)18JOptionPane.showMessageDialog(null,“添加成功”,“Message”,1);19 else20JOptionPane.showMessageDialog(null,“添加失敗”,“Message”,1);(11)運行程序,在學生信息編輯窗口中輸入學生信息,驗證插入是否成功。65任務5從數(shù)據(jù)庫中刪除學生信息5.5.1知識準備5.5.2工作過程665.5.1知識準備1.DELETE語句delete語句的作用是刪除數(shù)據(jù)庫表中滿足規(guī)定條件的記錄。delete語句的常用格式如下:deletefrom表名[where條件子句]其中:①表名是要刪除數(shù)據(jù)行的表名。②where后面的條件為刪除記錄的條件delete語句的用法舉例:刪除學號為S20080010的學生記錄SQL語句為:deletefromstudentwherestuNo=’S20080010’672.確認框確認框是用于顯示詢問信息的小窗口,一般有確定(confirm)、取消(cancel)等按鈕。例如,當我們要刪除一條記錄時,一般將會出現(xiàn)一個對話框,確認是否真的要這樣做。Swing中的JOptionPane類提供靜態(tài)方法showConfirmDialog(),用于創(chuàng)建確認框。方法格式:publicstaticintshowConfirmDialog(ComponentparentComponent,Objectmessage,Stringtitle,intoptionType)其中:parentComponent:父組件message:顯示的信息title:確認框的標題68optionType:確認框的選項類型例如:定義一個確認框,詢問“確定要刪除”的信息,代碼為:JOptionPane.showConfirmDialog(null,“確定要刪除”,“提示信息”,JOptionPane.OK_CANCEL_OPTION);與消息框的靜態(tài)方法不同的是,確認框的靜態(tài)方法有返回值,如表4.6所示。這樣就可以根據(jù)返回值判斷用戶執(zhí)行了什么操作。用戶點擊按鈕方法返回值用戶點擊按鈕方法返回值是YES_OPTION或0確認OK_OPTION或0否NO_OPTION或1未點擊,直接關閉CLOSED_OPTION或-1撤銷CANCEL_OPTION或2表4.6確認框靜態(tài)方法的返回值695.5.2工作過程(1)在stuDao類中添加刪除學生信息的方法,代碼如下:7010 if(flag==1)11 JOptionPane.showMessageDialog(null,“刪除成功”,“Message”,1);12 else13 JOptionPane.showMessageDialog(null,“刪除失敗”,“Message”,1);14 }catch(SQLExceptionse){15 se.printStackT

溫馨提示

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

評論

0/150

提交評論