CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

连接数据库的简单问题.

楼主nankaijinke(jinke)2005-01-25 10:01:21 在 Java / J2SE / 基础类 提问

我是java初学者,现正在研究对数据库方面的操作,我装了jb   9,但是在运行下列代码的时候,一直没有成功,我事先已经将一个.mdb文件建立成一个名为TestDbStu的数据源,为什么还是不能成功运行呢,  
  一想问问大家  
  在jb中进行access和sql   server   方面的数据库操作是不是有的情况也要额外安装驱动程序  
  二是  
  有没有对access操作时不使用数据源而通过其绝对地址进行访问的,提供代码者必然加分.  
   
  *****************************************************************************************  
  void   firstpageButton_actionPerformed(ActionEvent   e)   {         //   处理“首页”按钮情况  
          try   {  
              pagenum=1;                                                                                       //   首页所以pagenum设为1  
              int   recordnum=0;                                                                           //   初始化数据表中的记录数  
              Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");               //   实例化JDBC-ODBC桥的驱动  
              String   url   =   "jdbc:odbc:TestDbStu";                                     //   设置连接字符串  
              connection   =   DriverManager.getConnection(url);               //   连接数据库  
              //   创建Statement接口对象  
              statement   =   connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,   ResultSet.CONCUR_UPDATABLE);  
              sql   =   "select   *   from   studentbase   ";  
              //   执行statement对象的executeQuery方法,查询studentbase表,将查询结果放入rs中  
              rs   =   statement.executeQuery(sql);  
              while(rs.next())   {  
                  recordnum++;                                                                               //   统计数据表中的记录个数  
              }  
              //   求得分页显示的页码总数  
              int   t=recordnum%everypagenumber;  
              if   (t!=0)  
                  lastpagenum=(recordnum/everypagenumber+1);  
              else  
                  lastpagenum=recordnum/everypagenumber;  
              rs.beforeFirst()   ;  
              String   displaypage=pagenum+"/"+lastpagenum;  
              pagedisplayField.setText(displaypage)   ;                             //   显示当前页码情况  
              vector.removeAllElements();                                                     //   初始化向量对象  
              tm.fireTableStructureChanged();                                             //   更新表格内容  
              for(int   i=1;i<=everypagenumber;i++)   {  
                  rs.next();  
                  Vector   rec_vector   =   new   Vector();  
                  //   从结果集中取数据放入向量rec_vector中  
                  rec_vector.addElement(String.valueOf(rs.getInt(1)));  
                  rec_vector.addElement(rs.getString(2));  
                  rec_vector.addElement(String.valueOf(rs.getInt(3)));  
                  rec_vector.addElement(rs.getString(4));  
                  rec_vector.addElement(rs.getString(5));  
                  vector.addElement(rec_vector);                                           //   向量rec_vector加入向量vector中  
              }  
              tm.fireTableStructureChanged();                                             //   更新表格,显示向量vector的内容  
          }  
          catch(SQLException   ex){                                                                 //   捕捉异常  
              System.out.println("\nERROR:-----   SQLException   -----\n");  
              while   (ex   !=   null)   {  
                  System.out.println("Message:       "   +   ex.getMessage());  
                  System.out.println("SQLState:     "   +   ex.getSQLState());  
                  System.out.println("ErrorCode:   "   +   ex.getErrorCode());  
                  ex   =   ex.getNextException();  
              }  
          }  
          catch(Exception   ex   )   {  
              ex.printStackTrace();  
          }  
          finally   {  
              try   {  
                  if(statement   !=   null)   {  
                      statement.close();                                                                 //   关闭Statement接口实例  
                  }  
                  if(connection   !=   null)   {  
                      connection.close();                                                               //   关闭Connection接口实例  
                  }  
              }  
              catch   (SQLException   ex)     {  
                  System.out.println("\nERROR:-----   SQLException   -----\n");  
                  System.out.println("Message:       "   +   ex.getMessage(   ));  
                  System.out.println("SQLState:     "   +   ex.getSQLState());  
                  System.out.println("ErrorCode:   "   +   ex.getErrorCode());  
              }  
          }  
      }  
  ***************************************************************************************** 问题点数:50、回复次数:3Top

1 楼GJA106(中文字符)回复于 2005-01-25 10:23:43 得分 40

1.访问access可以直接通过以下代码去实现。  
      try{  
                String   strURL   =  
                                  "jdbc:odbc:driver={MicrosoftAccessDriver(*.mdb)};DBQ=MyTest.mdb";  
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  
                Connection   connAcce   =   DriverManager.getConnection(strURL);  
      }catch(Exception   e){  
              e.printStackTrace();  
      }  
   
  2.访问msserver通过jdbc去访问。  
      try{  
                  Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();  
                  String   url   =   "jdbc:microsoft:sqlserver://192.168.0.151:1433;DatabaseName=chan";  
                  //pubs为你的数据库的  
                  String   user   =   "sa";  
                  String   password   =   "";  
                  Connection   conn   =   DriverManager.getConnection(url,   user,   password);  
      }catch(Exception   e){  
              e.printStackTrace();  
      }  
  Top

2 楼drugon(更高,更远,更强)回复于 2005-01-25 10:45:09 得分 10

初学都最好不要用工具,手动去写,到一定程度后再用工具。Top

3 楼nankaijinke(jinke)回复于 2005-01-25 11:26:54 得分 0

呵呵,我是想在手写之前对,整体的实现思路有个体会,多谢楼上的朋友们Top

相关问题

  • 数据库连接简单的问题
  • 简单的数据库连接
  • 简单问题:在delphi中,用Ttable连接oracle 数据库,怎样屏蔽掉连接数据库对话框?
  • 送分了。一个简单的连接数据库问题 急
  • 连接数据库的问题...知道的话很简单。
  • 关于数据库连接问题,很简单
  • 关于远程数据库连接简单问题(MSSQL Server)
  • 关于数据库连接!!的简单问题
  • ai,问一个简单的数据库连接问题!
  • 再来个简单的数据库连接。

关键词

  • 数据库
  • 连接
  • jdbc
  • odbc

得分解答快速导航

  • 帖主:nankaijinke
  • GJA106
  • drugon

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo