resultSet.getMetaData() 获得表结构

resultSet.getMetaData() 获得表结构
1、得到查询结果,一个数据集

rs = stat.executeQuery("select * from "
                            + table_name + " limit " + pageNum + ",500");

2、得到结果集的结构信息,比如字段数、字段名等。


```java
ResultSetMetaData rsmt=rs.getMetaData();

3、使用rs.getMetaData().getTableName(1))就可以返回表名
4、rs.getMetaData().getColumnCount()字段数
5、rs.getMetaData().getColumnName(i));字段名

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的示例代码,实现了数据列、添加和编辑功能: ```java import java.io.IOException; import java.sql.*; import javax.servlet.ServletException; import javax.servlet.http.*; public class MyServlet extends HttpServlet { private Connection conn; public void init() throws ServletException { try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "password"); } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); } } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String tablename = request.getParameter("tablename"); if (tablename == null) { tablename = "mytable"; } try { DatabaseMetaData meta = conn.getMetaData(); ResultSet rs = meta.getColumns(null, null, tablename, null); response.setContentType("text/html;charset=UTF-8"); response.getWriter().println("<html><head><title>" + tablename + "</title></head><body>"); response.getWriter().println("<h1>" + tablename + "</h1>"); response.getWriter().println("<table border=\"1\"><tr>"); while (rs.next()) { response.getWriter().println("<th>" + rs.getString("COLUMN_NAME") + "</th>"); } response.getWriter().println("<th>操作</th></tr>"); rs = conn.createStatement().executeQuery("SELECT * FROM " + tablename); while (rs.next()) { response.getWriter().println("<tr>"); ResultSetMetaData rsmd = rs.getMetaData(); int columnCount = rsmd.getColumnCount(); for (int i = 1; i <= columnCount; i++) { response.getWriter().println("<td>" + rs.getString(i) + "</td>"); } response.getWriter().println("<td><a href=\"?action=edit&tablename=" + tablename + "&id=" + rs.getString(1) + "\">编辑</a></td>"); response.getWriter().println("</tr>"); } response.getWriter().println("</table>"); response.getWriter().println("<br><a href=\"?action=add&tablename=" + tablename + "\">添加</a>"); response.getWriter().println("</body></html>"); } catch (SQLException e) { e.printStackTrace(); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String action = request.getParameter("action"); String tablename = request.getParameter("tablename"); if (tablename == null) { tablename = "mytable"; } if (action != null && action.equals("add")) { try { PreparedStatement ps = conn.prepareStatement("INSERT INTO " + tablename + " VALUES (null, ?, ?, ?)"); ps.setString(1, request.getParameter("field1")); ps.setString(2, request.getParameter("field2")); ps.setString(3, request.getParameter("field3")); ps.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } } else if (action != null && action.equals("edit")) { try { PreparedStatement ps = conn.prepareStatement("UPDATE " + tablename + " SET field1=?, field2=?, field3=? WHERE id=?"); ps.setString(1, request.getParameter("field1")); ps.setString(2, request.getParameter("field2")); ps.setString(3, request.getParameter("field3")); ps.setString(4, request.getParameter("id")); ps.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } } response.sendRedirect("?tablename=" + tablename); } public void destroy() { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } ``` 在这个示例中,我们通过 `Connection.getMetaData()` 方法获取了指定的元数据信息,然后通过 `Response.getWriter()` 对象输出了一个简单的网页单,实现了数据列、添加和编辑功能。具体实现细节请参考代码注释。需要注意的是,这里我们使用了 MySQL 数据库,如果你使用的是其他数据库,请根据实际情况修改代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值