`
holdbelief
  • 浏览: 697131 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

第十二课时:JDBC 编程 (2)

阅读更多

示例:

import java.sql.*;

import java.util.*;

import java.io.*;

 

import static java.sql.ResultSet.*;

 

public class ResultSetTest

{

private String driver;

private String url;

private String user;

private String pass;

Connection conn;

PreparedStatement pstmt;

ResultSet rs;

public void initParam(String paramFile)throws Exception

{

//使用Properties类来加载属性文件

Properties props = new Properties();

props.load(new FileInputStream(paramFile));

driver = props.getProperty("driver");

url = props.getProperty("url");

user = props.getProperty("user");

pass = props.getProperty("pass");

}

 

 

public void query(String sql)throws Exception

{

try

{

//加载驱动

Class.forName(driver);

//获取数据库连接

conn = DriverManager.getConnection(url , user , pass);

//使用Connection来创建一个PreparedStatement对象

//传入控制结果集可滚动,可更新的参数。

pstmt = conn.prepareStatement(sql , ResultSet.TYPE_SCROLL_INSENSITIVE

, ResultSet.CONCUR_UPDATABLE);

rs = pstmt.executeQuery();

rs.last();

int rowCount = rs.getRow();

for (int i = rowCount; i > 0 ; i-- )

{

rs.absolute(i);

System.out.println(rs.getString(1) + "\t"

+ rs.getString(2) + "\t" + rs.getString(3));

//修改单元格多对应的值

rs.updateString(2 , "学生名" + i);

//提交修改

rs.updateRow();

}

}

//使用finally块来关闭数据库资源

finally

{

if (rs != null)

{

rs.close();

}

if (pstmt != null)

{

pstmt.close();

}

if (conn != null)

{

conn.close();

}

}

}

public static void main(String[] args) throws Exception

{

ResultSetTest rt = new ResultSetTest();

rt.initParam("mysql.ini");

rt.query("select * from student_table");

}

}

 

如果要创建可更新的结果集,查询语句查询的数据通常只能来源于一个数据表,而且查询结果结果的数据列中必须包含主键列,否则更新失败。


5、使用 ResultSetMetaData 分析结果集
MetaData 的意思是元数据,即描述其它数据的数据,因此 ResultSetMetaData 封装了描述 ResultSet 对象的数据,而 DatabaseMetaData 则封装了描述 Database 的数据。

ResultSet 里包含一个 getMetaData() 方法,该方法返回该 ResultSet 对应的 ResultSetMetaData 对象,一旦获得了 ResultSetMetaData 对象,就可以通过 ResultSetMetaData 提供的大量的方法来返回 ResultSet 的描述信息,常用的方法有以下三个:
  • int getColumnCount()
  • String getColumnName(int column)
  • int getColumnType(int column)
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics