⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 opta2000updatexmlbean.java

📁 java数据库编程源码
💻 JAVA
字号:
package JavaDatabaseBible.ch15;

import java.io.*;
import java.sql.*;
import javax.sql.*;

public class Opta2000UpdateXMLBean{
  protected static String dbUserName = "sa";
  protected static String dbPassword = "dba";
  protected String xmlHeader = "<?xml version=\"1.0\"?>";
  
  protected int id;
  protected int year;
  protected String color;
  protected String make;
  protected String model;
	
  protected Connection con;
  protected Statement stmt;
  protected ResultSet rs;
  protected ResultSetMetaData md;
  
  public Opta2000UpdateXMLBean(){
  }
  public void setId(int id){
    this.id=id;
  }
  public int getId(){
    return id;
  }
  public void setColor(String color){
    this.color=color;
  }
  public void setMake(String make){
    this.make=make;
  }
  public void setModel(String model){
    this.model=model;
  }
  public String getXmlString(){
    String xml = new String(getVehicleData());
    return xml.trim();
  }
  public String updateVehicleData(){
    String status = "Update successful";
    System.out.println("ResultSet = "+rs);
    try {
      if(rs.getConcurrency()==ResultSet.CONCUR_UPDATABLE){
        System.out.println("UPDATABLE");
        int nColumns = md.getColumnCount();
        rs.updateInt("year", year);
        rs.updateString("color", color);
        rs.updateString("make", make);
        rs.updateString("model", model);
        rs.updateRow();
      }
      else{
        System.out.println("READ_ONLY"); 
        status = "Update failed";
      }
    }catch(Exception e){
      e.printStackTrace();
    }
    return status;
  }
  public byte[] getVehicleData(){
    String rootTag = "MemberInfo";
    String SQLQuery = "SELECT * FROM Vehicles WHERE id = '"+id+"';";
                      
    ByteArrayOutputStream os = new ByteArrayOutputStream();
    try {
      Class.forName("com.inet.pool.PoolDriver");
      com.inet.tds.TdsDataSource tds = new com.inet.tds.TdsDataSource();
      tds.setServerName( "JUPITER" );
      tds.setDatabaseName( "VEHICLES" );
      tds.setUser( dbUserName );
      tds.setPassword( dbPassword );

      DataSource ds = tds;
      con = ds.getConnection(dbUserName,dbPassword);

      stmt = con.createStatement(
                       ResultSet.TYPE_SCROLL_INSENSITIVE, 
                       ResultSet.CONCUR_UPDATABLE);
      
      rs = stmt.executeQuery(SQLQuery);
      md = rs.getMetaData();
      if(rs.getConcurrency()==ResultSet.CONCUR_UPDATABLE){
        System.out.println("UPDATABLE");
      }else{
        System.out.println("READ_ONLY"); 
      }
      os.write(xmlHeader.getBytes());
      os.write(("<"+rootTag+">").getBytes());
      
      String xml = "";
      int columns = md.getColumnCount();
      rs.next();
      for(int i=1;i<=columns;i++){
        if(md.getColumnType(i)==Types.VARCHAR){
          xml="<"+md.getColumnLabel(i)+">"+rs.getString(i)+"</"+md.getColumnLabel(i)+">";
          os.write(xml.getBytes());
        }else if(md.getColumnType(i)==Types.INTEGER){
          xml="<"+md.getColumnLabel(i)+">"+rs.getInt(i)+"</"+md.getColumnLabel(i)+">";
          os.write(xml.getBytes());
        }
      }
      os.write(("</"+rootTag+">").getBytes());

    }catch(Exception e){
      e.printStackTrace();
    }
    return os.toByteArray();
  }
  public static void main(String[] args){
    Opta2000UpdateXMLBean bean = new Opta2000UpdateXMLBean();
    bean.setId(1000);
    System.out.println(new String(bean.getVehicleData()));
    bean.setColor("pink");
    System.out.println(bean.updateVehicleData());
    System.out.println(new String(bean.getVehicleData()));
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -