实验二 JDBC编程
一、目的
通过Java数据库访问程序的编写、调试,使学生掌握JDBC编程的基本方法,熟悉常用的JDBC API,促进学生对概念的理解,培养动手能力。
二、基本要求
学生需要按时达到指定实验室上机。调试教学中使用的程序示例,并加以修改,增加程序的功能;实现数据库访问的优化。完成实验后,需要按时提交实验报告。
三、实验内容
(1)复习数据库SQL语句的编写。
(2)编写Java数据库(使用ODBC-JDBC驱动)公共模块。 (3)建立数据库应用模型,对数据库进行操作。 (4) 调试程序,实现数据库的访问。
3.1数据源的确定
可能是我不知道怎么配置,我的电脑是Windows7系统,和学校WindowsXP系统的电脑配置方法不太一样,需要在C:\\Windows\\System32路径中,找到odbcad32.exe才能顺利修改数据源。数据源设置好了以后就可以编辑代码并正常运行了。
下面以一张截图展示我的数据库
3.2数据库信息查询.一 3.2.1代码
import java.sql.*; /*此处提供了SQL包,就可以放心使用SQL语句了*/ public class Students{
public static void main(String args[]){ //look out this \
String driver=\
/*这里定义了driver做驱动器使用,为了美观事先定义,其实放在Class.forName的括号里也是完全正确的*/
String url=\
/*此处指定了数据库,要注意两者名字一定要一样,否则找不到数据源*/
String query=\name,num,course,score from students\ //focus on
the SQL language :select...from... ! /*需要执行的SQL语句*/
Connection con=null; /*链接的定义*/
Statement s=null; /*Statement对象的定义,两者赋值null
是为了在try块出现异常的时候不会被判断为逻辑错误,认为变量没有赋值*/
try{ /*第一个try块实现了驱动器的启动*/
Class.forName(driver); //look out this \
Huge one!/*注意此处的Class需要大写!*/
}
catch(ClassNotFoundException e){
try{ /*第二个try块实现查询功能*/
con=DriverManager.getConnection(url);
System.err.println(\}
/*刚刚定义的url在这里用上,此时程序才真正与数据库相连*/
s=con.createStatement(); /*新建一个Statement*/ ResultSet r=s.executeQuery(query); /*query在这里用上,执行
SQL语句,也就是按照我们的要求实现我们想完成的功能*/
System.out.println(\+ \ num:\+ \ course:\ +
\ score:\
while(r.next()){ /*逐行查询,只要有值就执行while里的语句*/ /*注意以下的每一项name,num等都要与数据库中的题目想吻合*/
String r1=r.getString(\String r2=r.getString(\String r3=r.getString(\String r4=r.getString(\
/*注意这些名字一定要与数据库中的名字吻合!当然也可以用数字代替,但是我的数据库第一列是ID,所以要注意name是2,num是3,以此类推*/
}
System.out.println(r1+ r2+ r3+ r4); }
catch(SQLException e){
e.printStackTrace(); }
finally{
try{
s.close(); /*关闭Statement对象*/ con.close(); /*关闭连接*/ }
catch(SQLException e){ }
e.printStackTrace(); }
System.out.println(\
/*这条语句是一开始用于查找错误使用的*/
}
}
3.2.2运行截图1