怎么从resultset 结果集中取出想要的字段值

前言

在使用jsp与sqlserver数据库连接时,怎么从查找返回的resultset结果集中取出想要自己想要的对应于数据库中的字段值


提示:以下是本篇文章正文内容,下面案例可供参考

一、JDBC的ResultSet是什么?

在查询数据库后会返回一个ResultSet,它就像是查询结果集的一张数据表。

ResultSet对象维护了一个游标,指向当前的数据行。开始的时候这个游标指向的是第一行。如果调用了ResultSet的next()方法游标会下移一行,如果没有更多的数据了,next()方法会返回false。可以在for循环中用它来遍历数据集。

默认的ResultSet是不能更新的,游标也只能往下移。也就是说你只能从第一行到最后一行遍历一遍。不过也可以创建可以回滚或者可更新的ResultSet

当生成ResultSet的Statement对象要关闭或者重新执行或是获取下一个ResultSet的时候,ResultSet对象也会自动关闭。

可以通过ResultSet的getter方法,传入列名或者从1开始的序号来获取列数据。

二、如何从resultset 结果集中取出想要的字段值

1.建立jsp与数据库的连接

1.sqljdbc.jar注意这里要下载sqljdbc4.jar而不是sqljdbc.jar因为是2012,
2.jar包放在tomcat下的lib文件夹下,系统配置就是在classpath后添加jar包的位置,前提bai是tomcat和jdk都已经配置成功,具体这里不讲了
3.现在打开sql 和myeclipse
4.现在开始设置sql,我们要打开sql Server Configuration Manager-》选择TCP/IP右击属性
在IPALL下的IP端口和IP动态端口分别设置1433,2043并设置TCP/IP为启动
5.现在设置账号,刚开始sa账号是登陆不了的,用系统账号貌似也登不了,反正我是没登上
设置sa账号步骤如下,打开Microsoft SQL Server Managerment Studio,登陆,选择安全性,登录名,sa,右击sa,选择属性在常规里重新设置一个密码作为jsp登陆数据库的密码,状态设置为启用。
这里我们可以测试一下设置的账号能不能用,新建文本文档,文件名命名为TestSQL.UDL,然后双击打开,在提供程序里选择最下面的sql server native,然后下一步,选择使用特定用户名和密码,输入用户名sa和你刚才设置的密码,然后点下面的测试,显示测试成功,则设置成功。提示其他错误则返回重新设置sa。

在myeclipse新建项目,新建jsp参考代码如下:

<%@page contentType="text/html;charset=gb2312" %>
<%
java.sql.Connection conn=null;
java.lang.String strConn;
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
conn=java.sql.DriverManager.getConnection("jdbc:sqlserver://localhost:1433;","sa","000");
//数据库连接字符串,sa和000是我设置的账号密码
%>
连接数据库成功
<%
}
catch(java.sql.SQLException e){
out.println(e.toString());
}finally{
if(conn!=null) conn.close();
}
%>

2.然后部署文件,启动服务器,运行jsp.下面介绍一下可能出现的错误

(1)跳出bug,class file editor这里我们点chang然后选择tomcat下的lib下的rt.jar。确定,返回,重新运行即可。
(2)用户“sa”登陆失败,这里是sa账号没设置好,检查一下是否设置
接着再给出一个查询数据库代码的实例:

<%@ page language="java" contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
<title>Insert title here</title>
<body>
<%//变量声明
Connection conn;
ResultSet rs;
Statement st;
//变量声明结束
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
//数据库连接字符串
String url="jdbc:sqlserver://localhost:1433;DatabaseName=Persons";
conn= DriverManager.getConnection(url,"sa","000"); //设置conn
//设置st
st = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=st.executeQuery("select * from Persons.dbo.customer");//sql查询语句
while(rs.next()){
out.println(rs.getString("Persons.dbo.customer"));//循环读取字段
}
%>
</body>
</html>

3.从resultset 结果集中取出想要的字段值

jsp中使用代码加载完驱动,并且建立数据库连接后,插入一下代码:

ResultSet resultSet = statement.executeQuery("select * from userinfo;");

while (resultSet.next())
{
String str_1 = resultSet.getString(1);
String str_2 = resultSet.getString(2);
String str_3 = resultSet.getString(3);   
}

提示:这里的str_1 ,str_2,str_3最好定义为全局变量,方便后面的获取。

总结

提示:以上内容仅为本人作为菜鸟的个人见解,如有错误,望各路大神多多指教。

  • 1
    点赞
  • 3
    收藏
  • 打赏
    打赏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页
评论

打赏作者

zhouwenyan2548

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值