向数据库中写入数据的问题

liush1023 2006-02-23 09:10:02
各位大虾,帮忙看一下程序:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class DataWrite {
static Statement stat =null;
static Connection con = null;

public static void main(String[] args )
{

DataWrite dw=new DataWrite();
dw.conn();
String insertData = ("INSERT INTO student(name,age)"
+ "valueS('"
+ "jack"
+ "','"
+ "7"
+ "')");
try{
stat.executeQuery(insertData);
}catch (Exception ex)
{
System.out.println(ex) ;
}


}

public void conn(){
String driverName = "sun.jdbc.odbc.JdbcOdbcDriver";
String databaseUrl = "jdbc:odbc:MyAccess";

try {
Class.forName(driverName);
System.out.println("成功加载Access数据库驱动!");
} catch (ClassNotFoundException e) {
System.out.println("加载Access数据库驱动失败!");
System.out.println(e.getMessage());
return;
}
try {
con = DriverManager.getConnection(databaseUrl,"",
"");
System.out.println("数据库连接成功!");
stat = con.createStatement();

} catch (SQLException e) {
System.out.println("数据库连接失败!");
System.err.println("SQLExecption: " + e.getMessage());
return;
}
}
public void close() throws SQLException{
stat.close();
con.close();
}

}

运行时抱错:java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 由于将在索引、 主关键字、或关系中创建重复的值,请求对表的改变没有成功。 改变该字段中的或包含重复数据的字段中的数据,删除索引或重新定义索引以允许重复的值并再试一次。
不知这是什么原因,在工作空间内建了一个空的student表(只包含name和age字段)。



...全文
161 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
flashxue01 2006-02-28
  • 打赏
  • 举报
回复
String insertData = ("INSERT INTO student(name,age)"
+ "valueS('"
+ "jack"
+ "','"
+ "7"
+ "')");
这一句你认为非得要这么写吗?如果要这样的话就记得加些空格。没个关键字之间都要记得用关键字隔开。
ashen926 2006-02-27
  • 打赏
  • 举报
回复
给你个建议,单独测试下public void conn()方法是否能连接上你的students表。我感觉你的数据库连接函数又问题,用access好像还得声明数据源吧。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧