收藏 (0) +1 (0) +1 (0) +1
收藏成功查看收藏>>

正在阅读:Java、XML与数据库编程实践(三)Java、XML与数据库编程实践(三)

2004-06-23 10:21 出处:CSDN 作者:sirix 责任编辑:linjixiong

  [系列文章:Java、XML与数据库编程实践(一)
  [系列文章:Java、XML与数据库编程实践(二)]

  文件DbInput.java则是真正的数据拷贝部分:



import java.sql.*;

public class DbInput

{

    Connection src=null;

    Connection dest=null;

    Connection connformax=null;

    ConnPara srcPara;

    ConnPara destPara;

    public DbInput(){}

    public void dbInit()

    {

        DbXmlParser xmlparser=new DbXmlParser("dbs.xml");

        srcPara=xmlparser.getSource();

        destPara=xmlparser.getDest();

        try {

           Class.forName("sun.jdbc.odbc.JdbcOdbcDriver" );

           Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

           src = DriverManager.getConnection( srcPara.getUrl(), srcPara.getUsername(),srcPara.getPassword());

           dest =DriverManager.getConnection( destPara.getUrl(), destPara.getUsername(),destPara.getPassword());

           connformax= DriverManager.getConnection( destPara.getUrl(), destPara.getUsername(),destPara.getPassword());

        }

        //捕获加载驱动程序异常

        catch ( ClassNotFoundException cnfex ) {

           System.err.println( "装载 JDBC/ODBC 驱动程序失败。" );

 


察看评论详细内容 我要发表评论
作者笔名 简短内容 发表时间
:


           cnfex.printStackTrace();

           System.exit( 1 );  // terminate program

        } catch ( SQLException ex )

        {

            System.err.println( "连接失败" );

            ex.printStackTrace();

            System.exit( 1 );  // terminate program

        }          

    }
    public void copyproduct()

    {

        Statement st=null;

        ResultSet rset=null;

        String sqlstr;

        try {

           //执行SQL语句

           String query = "select * from production";

           st = src.createStatement();

           rset = st.executeQuery(query);         

           int pid,ljid,cid,ciid;

           while(rset.next())

           {

           String pnumber=rset.getString(1);

           String ljnumber=rset.getString(2);

 


察看评论详细内容 我要发表评论
作者笔名 简短内容 发表时间
:


            String cnumber=rset.getString(3);

           //插入到产品表

           pid=getIdfromNumber("project","number",pnumber);

           if(pid==0) //插入一条新记录

           {

                pid=getMax("project");//System.out.println(pid);

                sqlstr="Insert into project(id,number) values("+pid+",'"+pnumber+"')";

                execute(destPara,sqlstr);

           }         

           //插入到零件表

           ljid=getIdfromNumber("product","number",ljnumber);

            if(ljid==0) //插入一条新记录

            {

                ljid=getMax("product");

                sqlstr="Insert into product(id,pid,number) values("+ljid+","+pid+",'"+ljnumber+"')";

                execute(destPara,sqlstr);

            }         

           //插入工具表

            cid=getIdfromNumber("componenttype","number",cnumber);

            if(cid==0) //插入一条新记录

            {
                cid=getMax("componenttype");

                sqlstr="Insert into componenttype(id,aid,number) values("+cid+","+ljid+",'"+cnumber+"')";

                execute(destPara,sqlstr);

            }                   
           }
        }
        catch ( SQLException sqlex ) {

           sqlex.printStackTrace();
        }      
    }  

 


察看评论详细内容 我要发表评论
作者笔名 简短内容 发表时间
:

关注我们

最新资讯离线随时看 聊天吐槽赢奖品
手机访问回到顶部