怎么样用获取数据表的列名?
在一个jsp页面显示出了指定数据库中的所有表的表名,以复选框的形式排列的。接下来,我想把选中的表的列名同样显示在一个jsp界面中,应该怎么做呀??...
在一个jsp页面显示出了指定数据库中的所有表的表名,以复选框的形式排列的。接下来,我想把选中的表的列名同样显示在一个jsp界面中,应该怎么做呀??
展开
1个回答
展开全部
在jdbc执行一个sql语句的话,就会把sql语句对应的列都已元数据的形式提供给你,你可以根据元数据获取到列的信息
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import oracle.jdbc.driver.OracleResultSetMetaData;
public class DbTest {
public static void main(String[] args) {
Connection con = null;
ResultSet rs = null;
PreparedStatement stmt = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@ip:port:servID"; //数据库连接字符串
String user="user"; //用户名
String password="pswd"; //密码
con = DriverManager.getConnection(url,user,password); //获取连接
//这里的sql为一个查询结果为0条记录的sql,目的是只获取元数据信息
stmt = con.prepareStatement("SELECT * FROM TEST_TABLE WHERE 0 = 1");
rs = stmt.executeQuery();
//下面的即为执行结果集的元数据,即使查询结果没有数据,该元数据还是存在
OracleResultSetMetaData rsmd = (OracleResultSetMetaData)rs.getMetaData();
int columnCnt = rsmd.getColumnCount(); //列的数量
for (int i = 1; i <= columnCnt; i++) {
//打印列名
System.out.println(rsmd.getColumnName(i));
}
} catch (Exception e) {
//发生异常,执行异常处理
e.printStackTrace();
} finally {
if (rs != null) {
//关闭结果集
try {
rs.close();
} catch (Exception e) {
}
}
if (stmt != null) {
//关闭statement
try {
stmt.close();
} catch (Exception e) {
}
}
if (con != null) {
//关闭连接
try {
con.close();
} catch (Exception e) {
}
}
}
}
}
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import oracle.jdbc.driver.OracleResultSetMetaData;
public class DbTest {
public static void main(String[] args) {
Connection con = null;
ResultSet rs = null;
PreparedStatement stmt = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@ip:port:servID"; //数据库连接字符串
String user="user"; //用户名
String password="pswd"; //密码
con = DriverManager.getConnection(url,user,password); //获取连接
//这里的sql为一个查询结果为0条记录的sql,目的是只获取元数据信息
stmt = con.prepareStatement("SELECT * FROM TEST_TABLE WHERE 0 = 1");
rs = stmt.executeQuery();
//下面的即为执行结果集的元数据,即使查询结果没有数据,该元数据还是存在
OracleResultSetMetaData rsmd = (OracleResultSetMetaData)rs.getMetaData();
int columnCnt = rsmd.getColumnCount(); //列的数量
for (int i = 1; i <= columnCnt; i++) {
//打印列名
System.out.println(rsmd.getColumnName(i));
}
} catch (Exception e) {
//发生异常,执行异常处理
e.printStackTrace();
} finally {
if (rs != null) {
//关闭结果集
try {
rs.close();
} catch (Exception e) {
}
}
if (stmt != null) {
//关闭statement
try {
stmt.close();
} catch (Exception e) {
}
}
if (con != null) {
//关闭连接
try {
con.close();
} catch (Exception e) {
}
}
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
迈杰
2024-11-30 广告
2024-11-30 广告
RNA-seq数据分析是转录组研究的核心,包括数据预处理、序列比对、定量分析、差异表达分析、功能注释和可视化等步骤。数据预处理主要是质量控制和去除低质量序列。序列比对使用HISAT2、STAR等工具将reads比对到参考基因组。定量分析评估...
点击进入详情页
本回答由迈杰提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询