论坛首页· 友情链接申请·申请版主· 广告投放· 道具中心· 设为首页· 收藏本站
发新话题
打印

Java、XML与数据库编程实践(四)

本帖已经被作者加入个人空间

Java、XML与数据库编程实践(四)

文章来源:csdn 作者:sirix


  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,把这三个文件包含进去,就不会有问题了。
回帖既是一种美德,是对作者的鼓励,同时又为后来者推荐了好文章,何乐而不为呢?

TOP

发新话题