用select * from tabname where 1=2
然后利用rs.getMetaData();来获得列的信息!================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
然后利用rs.getMetaData();来获得列的信息!================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
解决方案 »
- 高分跪求 freemark + struts 开发案例与分析 越详细越好
- 我写一个JAVA服务端的SOCKET, 用C写了一个客户端的SOCKET,当C的客户端发第一次请求时,JAVA端接收数据包并返回数据包,当C端发请第二次请求时in.available()的长度却为0...为什么呢?
- 人生不如意啊!希望大家多多指点啊`````
- 'readOnly' hibernate
- 如果把"xxxx<abc>xxx"里的"<abc>"替换掉?尖括号里的"abc"是不可预知的任意字符.
- TOMCAT6的同时在线人数问题
- 急求jsp+javamail带附件发送邮件的源码.
- 大家都进来看看,发表一下啊!
- 关于Jsp中JavaBean返回值的优化问题
- JavaScript中的变量可以嵌入到jsp中用吗
- 请问可不可以把web服务的首页设置为指向一个servlet,如果可以怎么做?
- (100分)关于out.close();
import java.util.*;
import java.sql.*;public class JDBCBean { String classname ; // JDBC driver class
String url ;
String username ;
String password ;
String query ; // the SQL statement.
int rows, cols; // the number of rows and columns of the result.
Vector result; public void setClassname(String classname) {
this.classname = classname;
} public String getClassname() {
return classname;
} public void setUrl(String url) {
this.url = url;
} public String getUrl(){
return url;
} public void setUsername(String username) {
this.username = username;
} public String getUsername() {
return username;
} public void setPassword(String password) {
this.password = password;
} public String getPassword() {
return password;
} public void setQuery(String query) {
this.query = query;
} public String getQuery() {
return query;
} protected void go()
throws ClassNotFoundException, SQLException
{ // Load the JDBC driver
Class.forName(classname);
// get the connection to the database
Connection con = DriverManager.getConnection(url, username,
password);
// create and execute the query
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
ResultSetMetaData rsmd = rs.getMetaData();
cols = rsmd.getColumnCount();
rows = 0;
result = new Vector();
String s[] = new String[cols];
for (int i=1; i<=cols; i++) {
s[i-1] = rsmd.getColumnLabel(i) ;
}
result.addElement(s);
rows ++;
// for entire data
while (rs.next()) {
s = new String[cols];
// for one row
for (int i=1; i<=cols; i++) {
s[i-1] = helper(rs, rsmd.getColumnType(i), i);
}
result.addElement(s);
rows ++;
}
} public static void main (String[] args)
{
JDBCBean jdbcBean = new JDBCBean();
String classname = "com.imaginary.sql.msql.MsqlDriver";
//String url = "jdbc:msql://gaby.eng:4333/demo";
String url = "jdbc:msql://ridgetop.eng:1114/test";
String username = "lfu";
String password = "password";
//String query = "select * from details";
String query = "select * from table1"; jdbcBean.setClassname(classname);
jdbcBean.setUrl(url);
jdbcBean.setUsername(username);
jdbcBean.setPassword(password);
jdbcBean.setQuery(query);
try {
jdbcBean.go();
System.out.println("Seems okay");
} catch (Exception ex) {
ex.printStackTrace();
}
}
//
// Result methods
// public int getColumnCount() {
return cols;
} public int getRowCount() {
return rows;
} public String getColumnLabels(int col) {
String[] s = (String[])result.firstElement();
return s[col];
} public String getCell(int col, int row) {
String[] s = (String[])result.elementAt(row);
return s[col];
}
protected String helper (ResultSet rs, int dataType, int col)
throws SQLException
{
String retVal = null;
Integer intObj; // ask for data depending on the datatype
switch(dataType) {
case Types.DATE:
java.sql.Date date = rs.getDate(col);
retVal = date.toString();
break;
case Types.TIME:
java.sql.Time time = rs.getTime(col);
retVal = time.toString();
break;
case Types.TIMESTAMP:
java.sql.Timestamp timestamp = rs.getTimestamp(col);
retVal = timestamp.toString();
break;
case Types.CHAR:
case Types.VARCHAR:
case Types.LONGVARCHAR:
retVal = rs.getString(col);
break;
case Types.NUMERIC:
case Types.DECIMAL:
java.math.BigDecimal numeric = rs.getBigDecimal(col, 10);
retVal = numeric.toString();
break;
case Types.BIT:
boolean bit = rs.getBoolean(col);
Boolean boolObj = new Boolean(bit);
retVal = boolObj.toString();
break;
case Types.TINYINT:
byte tinyint = rs.getByte(col);
intObj = new Integer(tinyint);
retVal = intObj.toString();
break;
case Types.SMALLINT:
short smallint = rs.getShort(col);
intObj = new Integer(smallint);
retVal = intObj.toString();
break;
case Types.INTEGER:
int integer = rs.getInt(col);
intObj = new Integer(integer);
retVal = intObj.toString();
break;
case Types.BIGINT:
long bigint = rs.getLong(col);
Long longObj = new Long(bigint);
retVal = longObj.toString();
break;
case Types.REAL:
float real = rs.getFloat(col);
Float floatObj = new Float(real);
retVal = floatObj.toString();
break;
case Types.FLOAT:
case Types.DOUBLE:
double longreal = rs.getDouble(col);
Double doubleObj = new Double(longreal);
retVal = doubleObj.toString();
break;
case Types.BINARY:
case Types.VARBINARY:
case Types.LONGVARBINARY:
byte[] binary = rs.getBytes(col);
retVal = new String(binary);
break;
}
return retVal; }
}
我的意思是:比如说表 tab1(id,name,address)
我现在知道了有tab1表,但我不知道它有id,name,address这些列
我是需要得到id,name,address的数据类型,但主要是想要得到列名id,name,address,应为我在查询里面要用到
能否给我说的具体点,最好还简单点。很菜,没办法