Java 连接access 数据库成功 能够读取数据 为什么插入数据总报错 但是打开

Java 连接access 数据库成功 能够读取数据 为什么插入数据总报错 但是打开,第1张

经多方查询,找到解决方案:在连接字符串后面加参数lockType=ACCESS。

相关代码:

ClassforName("comhxttsqlaccessAccessDriver");

String strurl="jdbc:Access:///d:/mydataaccdblockType=ACCESS";

Connection conn=DriverManagergetConnection(strurl);

参看链接:网页链接

你的程序没有大问题,只是在创建表时写错了:

String createString = "create table student"+"(ID INTEGER,NAME char(8),grade NUMBER,class char(10))";

“NUMBER”,你写成了“NUMGER”

把这一句改了就可以了。我测试过了。

完整的Java程序:

import javasqlDriverManager;

import javasqlConnection;

import javasqlStatement;

import javasqlSQLException;

public class CreateTable {

//网桥JDBC/ODBC驱动程序

private static String DBDRIVER="sunjdbcodbcJdbcOdbcDriver";

//数据URL

private static String DBURL = "jdbc:odbc:driver={Microsoft Access Driver (mdb)};DBQ=e:\\SMSmdb";

public static void main(String[] args) {

Connection con = null;

Statement stmt = null;

String createString = "create table student"+"(ID INTEGER,NAME char(8),grade NUMBER,class char(10))";

try {

ClassforName(DBDRIVER);//加载驱动程序

//建立与数据库的连接

con=DriverManagergetConnection(DBURL);

}

catch (ClassNotFoundException e) {

Systemoutprintln("ClassNotFoundException:" + egetMessage());

Systemexit(1);//终止应用程序

}

catch (SQLException ex) {

Systemoutprintln("SQLException:" + exgetMessage());

Systemexit(1);//终止应用程序

}

try {

stmt=concreateStatement();//创建SQL语句对象

stmtexecuteUpdate(createString);//执行SQL语句

Systemoutprintln("在SMS数据库创建表student成功");

}

catch (SQLException ex){

Systemoutprintln("SQLExcepion:" + exgetMessage());

}

finally {

if (stmt != null) {

try {

stmtclose();//关闭语句

}

catch (SQLException e) {}

}

if (con != null) {

try {

conclose();//关闭与数据库的连接

}

catch (SQLException e) {}

}

}//try/catch/finally块结束

}//main方法结束

}

运行测试:

在SMS数据库创建表student成功

封装一个数据库连接类 类中有使用 驱动名称 数据库地址 数据库用户名 数据库密码 作为参数 返回连接的方法     在连接不同的数据库时传入不同的参数 获得指定的连接   简单写了个

  public static Connection getConnection(String db_driver,String db_url,String db_userName,String db_passWord) {

        Connection connection = null;

        //1加载oracle驱动

        try {

            ClassforName(db_driver);

        } catch (ClassNotFoundException e) { 

            eprintStackTrace();

            return null;

        }

        //2获得数据库连接

        try {

            connection = DriverManagergetConnection(db_url, db_userName, db_passWord);

        } catch (SQLException e) {

            eprintStackTrace();;

            return null;

        }

        return connection;

    }

1 jdbc:odbc:driver={Microsoft Access Driver (mdb)};

2使用ODBC建立WINDOW数据源的方法:

开始

>>控制面板

>>管理工具

>>数据源(ODBC)

>>用户DSN或系统DSN

>>点添加

>>找到"Microsoft Access Driver (mdb)",选中,再点完成>>自定义数据源名称,可创建一个新的或选择已经有的Access数据库(mdb)其它可以不选

>>确定>>确定

到此数据源已经建立成功

最后使用jdbc的方法进行连接。

以上就是关于Java 连接access 数据库成功 能够读取数据 为什么插入数据总报错 但是打开全部的内容,包括:Java 连接access 数据库成功 能够读取数据 为什么插入数据总报错 但是打开、java 连接 access SQLExcepion:[Microsoft][ODBC Microsoft Access 驱动程序] 字段定义语法错误、一个java项目如何分别连接两个数据库(mysql 和 access)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9328695.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存