
ResultSet是一个结果集,JDBC查询数据库返回ResultSet,查询结果封装在ResultSet中。
rsgetInt("id")获取表中字段名为id的值,id是int类型。
比如数据库表中有字段email,字段类型为String,则用rsgetString("email")来获取email字段的值。
当然,从你给的代码来看,SQL查询的结果应该是只有1条记录的。
如果有多条记录,循环获取。比如:
while(rsnext()) {Lei sd = new Lei();
sdsetXXX(rsgetXXX(""));
}
在jdbc执行一个sql语句的话,就会把sql语句对应的列都已元数据的形式提供给你,你可以根据元数据获取到列的信息
import javasqlConnection;
import javasqlDriverManager;
import javasqlPreparedStatement;
import javasqlResultSet;
import oraclejdbcdriverOracleResultSetMetaData;
public class DbTest {
public static void main(String[] args) {
Connection con = null;
ResultSet rs = null;
PreparedStatement stmt = null;
try {
ClassforName("oraclejdbcdriverOracleDriver")newInstance();
String url="jdbc:oracle:thin:@ip:port:servID"; //数据库连接字符串
String user="user"; //用户名
String password="pswd"; //密码
con = DriverManagergetConnection(url,user,password); //获取连接
//这里的sql为一个查询结果为0条记录的sql,目的是只获取元数据信息
stmt = conprepareStatement("SELECT FROM TEST_TABLE WHERE 0 = 1");
rs = stmtexecuteQuery();
//下面的即为执行结果集的元数据,即使查询结果没有数据,该元数据还是存在
OracleResultSetMetaData rsmd = (OracleResultSetMetaData)rsgetMetaData();
int columnCnt = rsmdgetColumnCount(); //列的数量
for (int i = 1; i <= columnCnt; i++) {
//打印列名
Systemoutprintln(rsmdgetColumnName(i));
}
} catch (Exception e) {
//发生异常,执行异常处理
eprintStackTrace();
} finally {
if (rs != null) {
//关闭结果集
try {
rsclose();
} catch (Exception e) {
}
}
if (stmt != null) {
//关闭statement
try {
stmtclose();
} catch (Exception e) {
}
}
if (con != null) {
//关闭连接
try {
conclose();
} catch (Exception e) {
}
}
}
}
}
1)这个注释不是很清楚了吗?具体说下哪个地方不懂吧;在J2SE里读取数据库需要将数据库驱动包导入,如下面的连接oracle数据库:
//连接oracle数据库,将这个(>
以上就是关于java之JDBC全部的内容,包括:java之JDBC、怎么样用获取数据表的列名、高分求教java的2个不难的问题。1.)求完整注释。2.)求list集合在swing组件的应用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)