用Java实现遍历Oracle数据库某用户下的所有数据,找出想要查找的记录

//以下功能为:查询数据库用户中所有的表名
  try
  {
   rs = stmt.executeQuery("select table_name,column_name from user_tab_columns where data_type <> /'DATE/' and DATA_TYPE <> /'BLOB/'");
   while(rs.next())
   {  
    tabName = rs.getString("table_name");  
    tablst.add(tabName);  
    colName = rs.getString("column_name");
    collst.add(colName);
   } 
   rs.close();
   
   for(int i = 0; i < tablst.size(); i++)
   {
    tabArray = tablst.toArray();
    colArray = collst.toArray(); 
    //System.out.println(tabArray[i].toString());
   }  
  } catch (SQLException e) {
   e.printStackTrace();
  }//try end
  
  
  for(int i = 0; i < tablst.size(); i++)
  try
  {
   String sql = "select " +  colArray[i].toString() + " from " + tabArray[i].toString()
                 + " where " + colArray[i].toString() + " like " + "/'%" + str + "%/'";
   rs = stmt.executeQuery(sql);
   ResultSetMetaData data=rs.getMetaData();
   
   while(rs.next())
   {
    colValue = rs.getString(data.getColumnName(1));
    sb.append(tabArray[i].toString() + "." + colArray[i].toString() + ": " + colValue + "/n");
    System.out.println(tabArray[i].toString() + "." + colArray[i].toString() + ": " + colValue + "/n");
    cnt++;
   }//end while
   
   rs.close();
  }catch (SQLException e) {
   e.printStackTrace();
  }//end try

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中,你可以使用以下代码来追踪Oracle数据库表的数据变化记录: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class OracleChangeLog { public static void main(String[] args) { try { // 连接数据库 String url = "jdbc:oracle:thin:@localhost:1521:ORCL"; String username = "your-username"; String password = "your-password"; Connection connection = DriverManager.getConnection(url, username, password); // 创建Statement对象 Statement statement = connection.createStatement(); // 执行查询 String query = "SELECT * FROM your-table"; ResultSet resultSet = statement.executeQuery(query); // 遍结果集 while (resultSet.next()) { // 获取每行的数据 int id = resultSet.getInt("id"); String name = resultSet.getString("name"); // 其他列... // 打印或处理数据 System.out.println("ID: " + id + ", Name: " + name); } // 关闭连接 resultSet.close(); statement.close(); connection.close(); } catch (Exception e) { e.printStackTrace(); } } } ``` 请注意替换代码中的以下部分: - `url`:根据你的数据库连接信息进行修改,确保连接到正确的数据库。 - `username`:替换为你的数据库用户名。 - `password`:替换为你的数据库密码。 - `your-table`:替换为你要追踪变化的数据库表名。 这段代码会查询指定的数据库表,并遍结果集以打印或处理数据。你可以根据需要进行进一步的操作,例如将数据存储到文件或其他数据结构中。 请确保你已经正确地导入了Oracle的JDBC驱动,并将其添加到项目的依赖中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值