免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2137 | 回复: 4
打印 上一主题 下一主题

非常奇怪的事情,java连接Access [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-11-17 21:47 |只看该作者 |倒序浏览
使用下面的代码,
在Eclipse里,输入数据库名称和表的名称后,就可以打印出来数据

使用相同的代码,在JCreator中,提示错误如下:
  1. java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 找不到文件 '(未知的)'。
复制代码

我怎么也查找不出来原因,请XDJM帮忙给看看

程序代码如下:
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4. import java.sql.Connection;
  5. import java.sql.DriverManager;
  6. import java.sql.ResultSet;
  7. import java.sql.Statement;
  8. import java.sql.SQLException;


  9. public class readDB{

  10.         public static void main(String args[]) {
  11.                
  12.                 //输入数据库名称
  13.                 String strDbName = null;
  14.                 BufferedReader strDb = new BufferedReader(new InputStreamReader(System.in));
  15.                 System.out.println("请输入数据库文件名:");
  16.                 try {
  17.                         String str1 = strDb.readLine();
  18.                         strDbName = "DBQ="+str1+".mdb";
  19.                 } catch (IOException e1) {
  20.                         e1.printStackTrace();
  21.                 }
  22.                
  23.                 //输入数据表的名称
  24.                 String strTableName = null;
  25.                 BufferedReader strTable = new BufferedReader(new InputStreamReader(System.in));
  26.                 System.out.println("请输入数据表的名称");
  27.                 try{
  28.                         String str2 = strTable.readLine();
  29.                         strTableName = str2;
  30.                 }catch(IOException e2){
  31.                         e2.printStackTrace();
  32.                 }
  33.                
  34.                 try{
  35.                         //连接数据库
  36.                         String strurl="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};"+strDbName;
  37.                                                
  38.                         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  39.                        
  40.                         Connection conn=DriverManager.getConnection(strurl) ;
  41.                        
  42.                         Statement stmt=conn.createStatement();
  43.                        
  44.                         ResultSet rs=stmt.executeQuery("select * from "+strTableName);//执行SQL命令,列表
  45.                        
  46.                         System.out.println("编号"+"   "+"姓名"+"   "+"年龄");
  47.                         //输出数据表中的内容
  48.                         while(rs.next()){
  49.                        
  50.                                 System.out.print("  "+rs.getString("ID")+"    ");
  51.                                 System.out.print(rs.getString("Name")+"    ");
  52.                                 System.out.println(rs.getString("Age"));
  53.                        
  54.                         }
  55.                         rs.close();
  56.                         stmt.close();
  57.                         conn.close();
  58.                
  59.                 }catch(Exception e){
  60.                
  61.                         System.out.println(e);
  62.                         System.exit(0);
  63.                
  64.                 }
  65.        
  66.         }

  67. }
复制代码

论坛徽章:
0
2 [报告]
发表于 2006-11-17 21:49 |只看该作者
数据库文件db1.mdb都是放在了项目的根目录下

我认为我写的代码没有错误。

[ 本帖最后由 quicksand 于 2006-11-17 21:55 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2006-11-18 20:03 |只看该作者
怎么没有人回复

论坛徽章:
0
4 [报告]
发表于 2006-11-18 22:31 |只看该作者
eclipse所有项目的默认当前目录都是项目根目录,而jcreator可能把你的src作为运行的当前目录了,所以找不到.mdb文件。

论坛徽章:
0
5 [报告]
发表于 2006-12-18 22:08 |只看该作者
把db1.mdb放在那个目录下都不可以,都是这样的提示。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP