当前位置:首页 > 科研成果申报管理系统 毕业论文(定稿) - 图文
东华理工大学毕业设计(论文) 系统的设计与实现
个temp的值
if(temp>0){ //判断temp的值,如果大于0,则添加成功 alert(\添加成功\history.back();}}
上述代码主要是完成信息的校验和存储工作。为了方便系统的管理,防止出现重名现象,在对数据库中添加数据时,对用户名进行了校验。如果用户名重复就提示此用户名已被占用,不能进行添加,否则就提示添加成功。
3.5 公共查询功能
公共信息查询模块是查询科研项目信息的公共窗口,用户无须进行身份验证就可查询科研项目的申报情况。在首页单击“信息查询”超链接,进入公共查询信息界面。公共查询页面左边模块进行查询内容的选择,右框显示查询内容的具体信息。
公共查询的页面设计如图3-15所示。
图3-15 科研项目信息查询
通过上图可以看出,系统是对查询内容的关键字进行查询,在查询内容处单击下拉框中选择要查询的内容,点击“查询”按钮,如果是课题查询,那么在右框中就会显示课题查询清单,如果是成果查询,则会显示成果查询清单。在关键字处采用SQL语句中的Like关键字进行模糊查询。关键代码如下:
Condb con=new Condb();
String keyID=request.getParameter(\读取查询的关键字ID String query=request.getParameter(\读取查询内容中的信息
23
东华理工大学毕业设计(论文) 系统的设计与实现
if(query.equals(\成果查询\ //判断查询内容是成果查询还是课题查询 String sql=\对关键字进行模糊查询
ResultSet rs=con.executeQuery(sql); int num=0;
while(rs.next()){ num++;
if(query.equals(\课题查询\
String sq=\ ResultSet rss=con.executeQuery(sq); int sum=0; while(rss.next()){ sum++;}}
con.close(); //关闭与数据库的连接
上述代码中,内置对象request调用方法getParameter()读取文本框中的信息,并把信息存放在不同的String对象中。然后调用方法equals()对存放查询内容的String对象query进行判断。在定义查询语句时,由于外人不知道科研项目的具体关键字,所以采用模糊查询语句,这样可以提高查询的准确率。在对数据库操作完成的时候,一定要关闭与数据库的连接,否则会给以后的工作带来很多麻烦。
3.6 JavaBean的设计
3.6.1 与数据库连接的JavaBean设计 public class Condb{
String Sd=\建立一个联接机 String Sc=\建立一个Odbc数据源 Connection con=null; //声明一个连接对象con ResultSet rs=null; //声明一个记录集rs public Condb(){ try{
Class.forName(Sd); //用类class的forname方法加载驱动程序类 }catch(java.lang.ClassNotFoundException e){ //当没有发现加载这个类
System.err.println(e);}}//执行系统的错误打印
的时候抛出异常
当设计了一个数据源后,这个数据源就是一个数据库。为了要连接到这个数据库,需要建立一个JDBC-ODBC桥接器。Class是包java.lang中的一个类,该类通过调用自己的静态方法forName就可以建立JDBC-ODBC桥接器。建立桥接器时可能会发生异
24
东华理工大学毕业设计(论文) 系统的设计与实现
常,所以建立桥接器时必须要抛出异常。要对数据库的记录进行操作,那么就要与数据源建立连接。使用包java.sql中的Connection类申明一个对象,然后使用类DriverManager调用自己的静态方法getConnection创建这个连接对象,这样就建立了与数据库之间的连接。
public ResultSet executeQuery(String sql){ //执行添加删除等操作
try{
con=DriverManager.getConnection(Sc); //类DriverManager调用静态方法//类Statement声明一个SQL语句对象,然后连接对象con调用
createStatement()方法创建这个SQL语句对象
Statementstmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITI
VE, ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery(sql); //SQL语句对象stmt调用executeQuery()方法}catch(SQLException er){ System.err.println(er.getMessage());} return rs;
int result=0; try{ con=DriverManager.getConnection(Sc); Statement stmt=con.createStatement(); result=stmt.executeUpdate(sql); }catch(SQLException ex){ System.err.println(ex.getMessage());} return result;
try{ if(con!=null) con.close(); }catch(Exception e){ System.out.print(e); }try{ if(rs!=null)
rs.close(); //关闭记录集
}catch(Exception e){ System.out.println(e);}}
25
getConnection()创建一个连接对象con
实现对数据库的操作
}public int executeUpdate(String sql){ //对数据库进行更新操作
}public void close(){ //关闭与数据库的连接
东华理工大学毕业设计(论文) 系统的设计与实现
在与数据库建立起连接后,就可以向数据库发送SQL语句。首先要使用Statement类申明一个SQL语句对象,然后通过创建的连接数据库对象con调用方法CreatStatement()创建这个SQL语句对象。有了SQL语句的对象后,这个对象就可以调用相应的方法实现对数据库的添加、删除等操作,并将查询的结果保存在一个ResultSet类声明的对象中。ResultSet.TYPE_SCROLL_INSENSITIVE常量允许记录指针向前或向后移动,且当Result对象变动为记录指针时,会影响记录指针的位置。ResultSet.CONCUR_UPDATABLE常量可以解释为Result对象能够修改数据库中的表。在对数据库进行操作后,必须关闭数据库的连接,不然服务器的资源会被耗尽。在科研成果申报管理系统中,关闭与数据库的连接的方法是con.close
3.6.2 处理字符串的JavaBean
使用JSP技术开发网站时,经常会碰到页面显示为乱码,这时就需要过滤一些特殊字符或者转换一些字符,这些功能通常都由一个独立的JavaBean来完成。关键代码如下:
public class Str {
public String toChinese(String str){ //转换中文字符串
if(str==null||str.length()<1){ str=\}else{ try {
str=(new String(str.getBytes(\//重新定义中
文的编码规则处理中文字符乱码
} catch (UnsupportedEncodingException e) { System.err.print(e.getMessage()); e.printStackTrace(); return str;}} return str;} if(str==null){ str=\}else{ try{
str=str.replace('\\'',(char)).trim();//调用方法trim() 删除空格 }catch(Exception e){ System.err.print(e.getMessage()); e.printStackTrace(); return str;}
26
public String dbEncode(String str){ //过滤空格与null值
共分享92篇相关文档