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,把这三个文件包含进去,就不会有问题了。 
  
  
   
 
  |