我写了一段测试读写access数据库文件代码,运行结果:连接成功
执行数据加入操作...
数据加入成功但是不能把数据写入到文件中,也从文件中读不到任何数据。我用access做个了个简单的msg.mdb文件
创建了一个message表,有两个字段 friend(PRIMARY KEY), msg,都是文本的数据类型
谁能帮我解决用Java语言读写*.mdb数据,非常急
谢谢了。
[code=Java]
import java.sql.*;
public class TestAccess {
private Connection conn;
private Statement stmt;
private ResultSet rs;
private PreparedStatement ps;
public TestAccess() {
}
public void connectAccessFile() {
try {
String surl = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=msg.mdb";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection(surl,null,null);
System.out.println("连接成功");
} catch(Exception e) {
e.printStackTrace();
}
} public void addData(String friend,String msg) {
String sql = "INSERT INTO message(friend,msg) VALUES(?,?)";
try {
System.out.println("执行数据加入操作...");
ps = (PreparedStatement)conn.prepareStatement(sql);
ps.setString(1,friend);
ps.setString(2,msg);
ps.executeUpdate();
System.out.println("数据加入成功");
} catch(Exception e) {
e.printStackTrace();
}
}
public void getData() {
try {
stmt = (Statement)conn.createStatement();
rs = (ResultSet) stmt.executeQuery("SELECT * FROM message");
while(rs.next()) {
System.out.println("执行了");
String friend = rs.getString(1);
String msg = rs.getString(2);
System.out.println(friend);
System.out.println(msg);
}
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
TestAccess ta = new TestAccess();
ta.connectAccessFile();
ta.addData("Mike2","Hello,How are you?");
}
}[/Java]
执行数据加入操作...
数据加入成功但是不能把数据写入到文件中,也从文件中读不到任何数据。我用access做个了个简单的msg.mdb文件
创建了一个message表,有两个字段 friend(PRIMARY KEY), msg,都是文本的数据类型
谁能帮我解决用Java语言读写*.mdb数据,非常急
谢谢了。
[code=Java]
import java.sql.*;
public class TestAccess {
private Connection conn;
private Statement stmt;
private ResultSet rs;
private PreparedStatement ps;
public TestAccess() {
}
public void connectAccessFile() {
try {
String surl = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=msg.mdb";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection(surl,null,null);
System.out.println("连接成功");
} catch(Exception e) {
e.printStackTrace();
}
} public void addData(String friend,String msg) {
String sql = "INSERT INTO message(friend,msg) VALUES(?,?)";
try {
System.out.println("执行数据加入操作...");
ps = (PreparedStatement)conn.prepareStatement(sql);
ps.setString(1,friend);
ps.setString(2,msg);
ps.executeUpdate();
System.out.println("数据加入成功");
} catch(Exception e) {
e.printStackTrace();
}
}
public void getData() {
try {
stmt = (Statement)conn.createStatement();
rs = (ResultSet) stmt.executeQuery("SELECT * FROM message");
while(rs.next()) {
System.out.println("执行了");
String friend = rs.getString(1);
String msg = rs.getString(2);
System.out.println(friend);
System.out.println(msg);
}
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
TestAccess ta = new TestAccess();
ta.connectAccessFile();
ta.addData("Mike2","Hello,How are you?");
}
}[/Java]
结果如下:D:\>java TestAccess
连接成功
执行数据加入操作...
数据加入成功
执行了
Mike2
Hello,How are you?楼主啊,你发0分的帖子是CSDN的一大忌啊。
人家都懒得点你帖子了,有不小心点到的一看。哇,这么长的代码,马上就又关了。
这几天写项目写得头昏脑胀 因为第二天要交作业,刚学数据库,有点晕 只记得看其他方法写错没 就没检查main方法
我第一次上CSDN论坛 还不知道有这么多规矩 我现在可以怎么给你分?