📄 opta2000updatexmlbean.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 + -