java 连接 access SQLExcepion:[Microsoft][ODBC Microsoft Access 驱动程序] 字段定义语法错误

importjava.sql.DriverManager;importjava.sql.Connection;importjava.sql.Statement;impor... import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.SQLException;
public class CreateTable {
//网桥JDBC/ODBC驱动程序
private static String DBDRIVER="sun.jdbc.odbc.JdbcOdbcDriver";
//数据库URL
private static String DBURL = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=e:\\SMS.mdb";

public static void main(String[] args) {
Connection con = null;
Statement stmt = null;
String createString = "create table student"+"(ID INTEGER,NAME char(8),grade NUMGER,class char(10))";
try {
Class.forName(DBDRIVER);//加载驱动程序
//建立与数据库的连接
con=DriverManager.getConnection(DBURL);
}
catch (ClassNotFoundException e) {
System.out.println("ClassNotFoundException:" + e.getMessage());
System.exit(1);//终止应用程序
}
catch (SQLException ex) {
System.out.println("SQLException:" + ex.getMessage());
System.exit(1);//终止应用程序
}
try {
stmt=con.createStatement();//创建SQL语句对象
stmt.executeUpdate(createString);//执行SQL语句
System.out.println("在SMS数据库创建表student成功");
}
catch (SQLException ex){
System.out.println("SQLExcepion:" + ex.getMessage());
}
finally {
if (stmt != null) {
try {
stmt.close();//关闭语句
}
catch (SQLException e) {}
}
if (con != null) {
try {
con.close();//关闭与数据库的连接
}
catch (SQLException e) {}
}
}//try/catch/finally块结束
}//main方法结束

}//类CreateTable结束
展开
 我来答
老冯文库
2012-03-19 · 知道合伙人软件行家
老冯文库
知道合伙人软件行家
采纳数:1139 获赞数:8734

向TA提问 私信TA
展开全部
你的程序没有大问题,只是在创建表时写错了:

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

“NUMBER”,你写成了“NUMGER”

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

完整的Java程序:

import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.SQLException;
public class CreateTable {
//网桥JDBC/ODBC驱动程序
private static String DBDRIVER="sun.jdbc.odbc.JdbcOdbcDriver";
//数据库URL
private static String DBURL = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=e:\\SMS.mdb";

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 {
Class.forName(DBDRIVER);//加载驱动程序
//建立与数据库的连接
con=DriverManager.getConnection(DBURL);
}
catch (ClassNotFoundException e) {
System.out.println("ClassNotFoundException:" + e.getMessage());
System.exit(1);//终止应用程序
}
catch (SQLException ex) {
System.out.println("SQLException:" + ex.getMessage());
System.exit(1);//终止应用程序
}
try {
stmt=con.createStatement();//创建SQL语句对象
stmt.executeUpdate(createString);//执行SQL语句
System.out.println("在SMS数据库创建表student成功");
}
catch (SQLException ex){
System.out.println("SQLExcepion:" + ex.getMessage());
}
finally {
if (stmt != null) {
try {
stmt.close();//关闭语句
}
catch (SQLException e) {}
}
if (con != null) {
try {
con.close();//关闭与数据库的连接
}
catch (SQLException e) {}
}
}//try/catch/finally块结束
}//main方法结束

}

运行测试:

在SMS数据库创建表student成功
hlzhuzhu
2012-03-19
知道答主
回答量:25
采纳率:0%
帮助的人:14.8万
展开全部
楼上正解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式