<%@ page contentType="text/xml; charset=GB2312" %>
<%@ page import="xmlinterface.*" %>
<%@ page import="java.sql.*" %>
<%
Connection conn = null;
String sql=new String();
java.sql.Statement stmt = null;
ResultSet rs = null;
ResultSetMetaData rsmd=null;
XmlRequest xmlrequest=new XmlRequest();
int rowCount; //the record count
try{
String drivers="sun.jdbc.odbc.JdbcOdbcDriver";
System.setProperty("jdbc.drivers",drivers);
String username="";
String password="";
String url="jdbc:odbc:jcldemo";
conn=DriverManager.getConnection(url,username,password);
xmlrequest.Open(request);
sql="select * from sale";
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery(sql);
rsmd=rs.getMetaData();
rs.last();
rowCount=rs.getRow();
xmlrequest.SetRecordCount(rowCount);
for(int i=1;i<=rsmd.getColumnCount();i++) {
if(rsmd.getColumnTypeName(i).equals("STRING")) {
xmlrequest.AddField(rsmd.getColumnName(i),rsmd.getColumnTypeName(i),rsmd.getPrecision(i));
}
else {
xmlrequest.AddField(rsmd.getColumnName(i),rsmd.getColumnTypeName(i));
}
}
for(int i=1;i<=rowCount;i++) {
rs.absolute(i);
xmlrequest.Append();
for(int j=1;j<=rsmd.getColumnCount();j++) {
xmlrequest.SetValue(rsmd.getColumnName(j), rs.getString(j));
}
}
out.print(xmlrequest.GetXml());
out.flush();
} catch(Exception e) {
e.printStackTrace();
xmlrequest.Error=e.getMessage();
out.println(xmlrequest.GetXml()); //出错后,返回出错信息
} finally {
if(rs != null)
rs.close();
if(stmt != null)
stmt.close();
if(conn != null)
conn.close();
}
%>