我是java初学者,想用java连接access,按着一本书写的代码连接,怎么样都不对,明明跟书上一模一样了,还是提示有很多错误
如下 先在access里新建一个数据表student,内容包括学生姓名,年龄,介绍等
再建一个JdbcOdbcDriverTest.java的文件,内容如下
/* JdbcOdbcDriverTest.java */
//导入JDBC的相关类
import java.sql.*;
public class JdbcOdbcDriverTest
{
java.sql.Connection conn=null;//定义数据库连接对象
java.sql.Statement st=null;//定义数据库执行对象
public void connect_to_access() //定义连接数据库的方法
{
try
{
//查找JDBC-ODBC-Driver的驱动程序,如果找不到会出错
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
/*
如果查找成功就尝试连接数据库,DriverManager的getConnection方法有3个参数:
(1) 表示数据库的URL,每个数据库的URL定义方法不一样的,
JDBC-ODBC Driver连接Access的定义方法是:
jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=person.mdb
(2) 表示数据库的用户名
(3) 表示数据库的密码
*/
conn=DriverManager.getConnection("jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=person.mdb", "","");
System.out.println("与Access数据库连接成功!");
}catch(Exception e)//捕获错误
{
System.out.println("连接Access数据库错误!");
System.out.println(e.getMessage());//打印出错原因
}
}
/* 添加一个学生到Access数据库中
add_a_student方法有3个参数:
(1) name:表示学生的姓名
(2) age: 表示学生年龄
(3) introduce: 表示对学生的介绍
*/
public void add_a_student(String name,int age,String introduce)
{
try
{
st=conn.createStatement();//生成数据库执行对象
st.executeUpdate("insert into student values('"+name+"','"+age+"','"+introduce+"')");//执行添加学生的SQL语句
System.out.println("学生添加成功!");
}
catch(Exception e)//捕获错误
{
System.out.println("添加学生时出错!");
System.out.println(e.getMessage());//打印出错原因
}
}
public void close_connection()//定义关闭数据库的方法
{
try
{
conn.close();//关闭数据库
System.out.println("数据库关闭成功!");
}
catch(Exception e)//捕获错误
{
System.out.println("数据库关闭错误!");
System.out.println(e.getMessage());//打印出错原因
}
}
}
然后建一个InvokeAccess.java 的文件,内容如下
/* InvokeAccess.java
调用Access操作例程
*/
public class InvokeAccess
{
public static void main(String args[])
{
System.out.println("Begin to uses jdbc-odbc-Driver to access!");
JdbcOdbcDriverTest example=new JdbcOdbcDriverTest();
example.connect_to_access();
example.add_a_student("Seamus",23,"A very good student!");
example.close_connection();
}
};
然后运行上面两个文件,就会显示数据库连接成功等信息
可是我运行起来总是显示很多错误,我是个初学者,谁能帮帮我,万分感谢
------解决方案--------------------
貼上錯誤訊息,那個才是找出問題的線索。
------解决方案--------------------
那就是没有连接到access啊,看你的连接字符串,dbq=XXX.mdb,这样能找到数据库文件吗,不行吧,你得用绝对路径的,如果是放在网站目录下的,可以利用request.RealPath来构造一下数据库文件的绝对路径