服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

java、xml与数据库编程实践(三)

  [系列文章: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();
        }      
    }  

 






扫描关注微信公众号