服务热线:13616026886

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

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

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();
  
      }   
  
    }

扫描关注微信公众号