資源描述:
《計算機科學與技術(shù)學院報告》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學術(shù)論文-天天文庫。
1、計算機科學與技術(shù)學院實驗報告?實驗題目:實驗2.2學號:200805130095日期:2011/4/23班級:08電商姓名:孟然Email:mengran3275188@163.com實驗目的:利用上一個實驗所學知識,基于corba技術(shù)開發(fā)一個考試查詢系統(tǒng),要求:l建立一個數(shù)據(jù)庫,包括學生基本信息表(考試證號,姓名),考試成績表(考試證號,科目號,成績),考試科目表(考試科目號,科目名稱)l服務(wù)器提供:a)查詢服務(wù):允許用戶通過考試證號查詢所有科目成績,或通過考試證號+科目名稱查詢某一科目成績b)
2、錄入服務(wù):允許管理員對數(shù)據(jù)庫錄入考生信息,及其考試成績l客戶可:a)錄入:與服務(wù)器端錄入服務(wù)對應(yīng)b)查詢:與服務(wù)器端查詢服務(wù)對應(yīng)硬件環(huán)境:機房電腦軟件環(huán)境:JDK1.3+VisiBroker5.1實驗步驟:(一)編寫Student.idl并進行編譯,命令為idl2javaStudent.idl//學生管理系統(tǒng)的對象接口定義moduleStudent{interfaceDataManager{//通過考試證號查詢所有科目成績返回考試證號、姓名、科目名稱、成績stringlookup_1(instri
3、ngstu_id);//通過考試證號+科目名稱查詢某一科目成績stringlookup_2(instringstu_id,instringcourse_name);//管理考生信息-錄入stringdelStudent(instringstu_id);//管理考生成績-錄入};};編譯完畢以后,VisiBroker會生成一個Student文件夾,內(nèi)部包含了與Student接口相關(guān)的各類。其中,真正與成績查詢和數(shù)據(jù)錄入相關(guān)的類是DataManager類,它分裝了8個方法,這些方法均與成績查詢和數(shù)據(jù)錄
4、入相關(guān)。(二)編寫DBConnect.java。該類主要負責與數(shù)據(jù)庫的交互,其中的兩個方法executeQuery(Stringsql)和executeUpdate(Stringsql)負責執(zhí)行SQL語句。importjava.sql.*;publicclassDBConnect{privateStringurl="jdbc:odbc:chang";privateConnectionconn=null;privateStatementstmt=null;publicDBConnect(){try{
5、Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");conn=DriverManager.getConnection(url,"sa","");stmt=conn.createStatement();}catch(Exceptione){System.err.print("Error"+e.getMessage());}}publicResultSetexecuteQuery(Stringsql){ResultSetrs=null;try{rs=stmt.e
6、xecuteQuery(sql);}catch(SQLExceptione){System.err.print("Error"+e.getMessage());}returnrs;}publicintexecuteUpdate(Stringsql){intupdate=0;try{update=stmt.executeUpdate(sql);conn.commit();}catch(SQLExceptione){System.err.print("Error"+e.getMessage());}r
7、eturnupdate;}publicvoidclose(){try{stmt.close();conn.close();}catch(SQLExceptione){System.err.print("Error"+e.getMessage());}}}(一)編寫DataManagerImpl.java。該類是最為重要的一個類,他的主要功能是實現(xiàn)Datamanager中的所有方法,由于具體代碼很多,只列舉其中之一。publicStringlookup_2(Stringstu_id,Stringco
8、urse_name){Stringresult="";ResultSetrs=null;try{//第一步:查詢學號為stu_id的學生是否存在。Stringsql="SELECT姓名FROM學生WHERE考試證號='"+stu_id+"'";Stringstu_name=null;rs=db.executeQuery(sql);if(rs.next()){stu_name=rs.getString("姓名");}else{result="Sorry,Ican'tfind"+stu