科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Java、XML与数据库编程实践

Java、XML与数据库编程实践

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

  在开始学习XML和数据库编程时,大家都对一大堆的文档和资料,无从入手。作者在工作中,正好要用到了这些,就手头的一个程序进行整理。其功能很简单,得用java语言,从access数据库中,把一些数据导入到SQL数据库中。

作者:中国IT实验室 来源:中国IT实验室 2007年9月22日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共4页)


  protected boolean alreadyin(String tname,String colname, String value)
  
    {   
  
      int result;
  
      ResultSet rst=null;
  
      try {
  
      //执行SQL语句
  
      String query = "select "+colname+" from "+tname+" where "+colname+"='"+value+"'";
  
      Statement statement = connformax.createStatement();
  
      rst = statement.executeQuery( query );
  
      if(rst.next())
  
      {
  
        statement.close();
  
        rst.close();
  
        return true;
  
      }   
  
     }
  
     catch ( SQLException sqlex ) {
  
      sqlex.printStackTrace();
  
      return false;
  
     }
  
     return false;  
  
    }
  
    protected int getIdfromNumber(String tname,String colname, String value)
  
    {   
  
      int result;
  
      ResultSet rst=null;
  
      try {
  
      Connection conn= DriverManager.getConnection( destPara.getUrl(), destPara.getUsername(),destPara.getPassword());
  
      String query = "select id,"+colname+" from "+tname+" where "+colname+"='"+value+"'";
  
      System.out.println(query);
  
      Statement statement = conn.createStatement();
  
      rst = statement.executeQuery( query );
  
      if(rst.next())
  
      {
  
        return rst.getInt("id");
  
      }
  
     }
  
     catch ( SQLException sqlex ) {
  
      sqlex.printStackTrace();
  
      return 0;
  
     }
  
     return 0;  
  
    }
  
    /**
  
     * 得到某个表中的最大的id号
  
     */
  
    protected int getMax(String tname)
  
    {   
  
      int result;
  
      ResultSet rst=null;  
  
      try {
  
      //执行SQL语句
  
      String query = "select Max(id) from "+tname;
  
      Statement statement = connformax.createStatement();
  
      rst = statement.executeQuery( query );
  
      if(rst.next())
  
      {
  
        return rst.getInt(1)+1;
  
      }
  
     }
  
     catch ( SQLException sqlex ) {
  
      sqlex.printStackTrace();
  
      return 0;
  
     }
  
     return 1;  
  
    }
  
    /**
  
     * 执行某一段sql语句
  
     */
  
    public static void execute(ConnPara connpara,String stmt) throws SQLException
  
    {
  
      Connection conn=null;
  
      PreparedStatement ps = null;
  
      try {
  
        conn=DriverManager.getConnection( connpara.getUrl(), connpara.getUsername(), connpara.getPassword());
  
        System.out.println(stmt);
  
        ps = conn.prepareStatement(stmt);
  
        ps.executeUpdate();
  
      } catch (Exception e) {
  
        e.printStackTrace();
  
        System.out.println(e.getMessage());
  
      } finally {
  
      if (ps!=null) ps.close();
  
      if (conn!=null)conn.close();
  
      }
  
    }
  
    public static void main(String argc[])
  
    {
  
      DbInput copydb=new DbInput();
  
      copydb.dbInit();
  
      copydb.copyproduct(); 
  
    } 
  
  }
  
  问题:
  
  1)    access数据库不能直接由jdbc读写,解决办法是先把access配置在ODBC中,然后再通过ODBC来操作access数据库。
  
  2)    执行时找不到com.microsoft.jdbc.sqlserver.SQLServerDriver类,这是因为在运行这个类时,要下载微软的jdbc包,这个包中有三个文件: msbase.jar,mssqlserver.jar,msutil.jar,把这三个文件包含进去,就不会有问题了。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章