当前位置:首页 » 编程语言 » javasql结果集
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

javasql结果集

发布时间: 2022-05-01 12:51:45

㈠ java 获取sql查询语句返回的结果

step1:构造连接
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/db","root","123");

step2:构造语句
String sql = "select username,password from t_user where username=?";
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setString(1, "zhangshan"); //给SQL的"?"(问号)传值。

step3:执行查询
ResultSet rs = stmt.executeQuery(); //rs就是SQL查询语句返回的结果集

step4:处理结果(java 获取SQL查询语句返回的结果)
List list = new ArrayList();
//遍历结果集,这样写就可以了,就是一个循环,有多少条记录,这里就会循环多少次,
//一次就是一条记录,想象一下就像一个表的一条记录
//在这里可以做查询出来的数据处理,可以封装成对象之类的(就是把值给它)
if(rs.next()) { //遍历结果集,这样写就可以了
User u = new User();
String username = rs.getString("username");
String address = rs.getString("password ");
u.setUsername(username);
u.setAddress(address);
list.add(u);
}
//上面这个例子意思是,把每一条记录封装成了一个User对象,然后这些User对象都放存入到了一个list

step4:关闭连接等

㈡ 在java中输出SQL的所有查询结果

方法有很多种,看你使用哪一种了
1、最简单的就是所有代码都放到jsp里面,然后直接输出查询到的值就好了,但这种方式不提倡
2、使用servlet,将sql代码放到servlet中,然后将查到的值放入session中,页面使用bean就可以输出
3、使用struts2框架,利用action和struts2的标签就可以输出
4、……

㈢ 如何在java中获得sql查询结果数量

如果使用String
sqlQuery
=
"SELECT
*
FROM
table";
的话,可以使用ResultSet的getRow
(1)首先使用last()方法,将数据库游标定位到记录集的最后一行。
(2)使用getRow()方法,返回记录集最后一行的行索引。该索引就等于记录集所包含记录的个数,也就是记录集的行数。getRow()方法是在JDBC
API
2.0中才定义的,在JDBC
API
1.0中没有这个方法。
----------------------
SELECT
count(*)
FROM
table
的话,直接从resultset中获取
rs.getInt(1);

㈣ java如何获取SQL查询结果集中的行数和列数

在Java中,获得ResultSet的总行数的方法有以下几种。
第一种:利用ResultSet的getRow方法来获得ResultSet的总行数
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rset = stmt.executeQuery("select * from yourTableName");
rset.last();
int rowCount = rset.getRow(); //获得ResultSet的总行数
第二种:利用循环ResultSet的元素来获得ResultSet的总行数
ResultSet rset = stmt.executeQuery("select * from yourTableName");
int rowCount = 0;
while(rset.next()) {
rowCount++;}rowCount就是ResultSet的总行数。
第三种:利用sql语句中的count函数获得ResultSet的总行数
ResultSet rset = stmt.executeQuery("select count(*) totalCount from yourTableName");
int rowCount = 0;
if(rset.next()) {
rowCount=rset .getInt("totalCount ");}rowCount就是ResultSet的总行数。
·*****************************************************************************************************************
·Java中获得ResultSet的总列数是非常简单事情,因为Java中ResultSet提供了ResultSetMetaData工具类,ResultSetMetaData是ResultSet的元数据的集合说明。
java获得ResultSet总列数的代码如下:
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rset = stmt.executeQuery("select * from yourtable");
ResultSetMetaData rsmd = rset.getMetaData() ;
columnCount就是ResultSet的总列数。

㈤ java sql语句,查询结果集,下面是具体代码

null空指针异常,voteDao.java第63行
注意下!
st
为空?只有这样了!
看下你的st是怎么创建的

㈥ 关于java中拼接sql,表名作为参数,返回结果集怎么接 [问题点数:30分]

通常通过SQL查询语句查出来的结果集封装在ResultSet对象中,然后我们会这样处理:
把ResultSet对象中的数据取出来并封装在javabean中,所以我们需要这样写(我假设这里的javabean是Student.java 里面有private String name和private int id两个属性 ,当然你需要生成对应的getter和setter方法)
while(rs.next()){
Student s=new Student();
s.setName(rs.getString("name"));
s.setId(rs.getInt("id"));
return s;
}

这样就把相应的数据封装进javabean对象中了,当然还有一种简便的方法是用Apache开源组织的dbUtils工具 详看API 这个太多不好说

㈦ java.sql.SQLException: 结果集已耗尽

不知道是不是想要这样的效果
改动第二个table
<table width="777" border="0" cellspacing="0" cellpadding="0" align="center" style="top: 131px; height: 30px;">
<% rs.beforeFirst();//重置结果集,然后重新开始循环
while(rs.next) {

<tr>
<td align="left"><b><font size="2">用户序号:</font></b></td>
<td><input type="text" name="publish_id" size="12" value = ""></td>
</tr>
<tr>
<td align="left"><b><font size="2">用户名:</font></b></td>
<td><input type="text" name="publish_name" size="12" value = "<%rs.getString("publish_name"); %>"></td>
</tr>
<tr>
<td align="left"><b><font size="2">时间:</font></b></td>
<td><input type="date" name="publish_time" size="12" value = "<%rs.getString("publish_time"); %>"></td>
</tr>
<tr>
<td align="left"><b><font size="2">发布内容:</font></b></td>
<td>
<textarea name="publish_text" cols="40" rows="5" bgcolor="73A2D6" ><%rs.getString("publish_text"); %></textarea>
</td>
</tr>
<tr><td><input type="submit" name="Submit" value="提交"></td></tr>
<%
}
%>
</table>

㈧ java 执行SQL返回结果

private static Connection con = null;
private static PreparedStatement pst = null;
private static ResultSet rs = null;

public static int CheckUser(String username,String password)
{
int i = 0;
try
{
con = ConnectionDatabase.GetConnections();
pst = con.prepareStatement("sql语句");
rs = pst.executeQuery();
if(rs.next())
{
i = 10;
}
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
try
{
rs.close();
pst.close();
con.close();
}
catch(Exception ee)
{
ee.printStackTrace();
}
}
return i;
}这是一个查询执行的代码,,,你这里应该将这个sql语句传到这个方法里面,,然后执行就可以啦。

㈨ java 如何将SQL结果集添加到数组里

假设mysql中test数据库中有个表式score,有数据,我只取第一列的数据出来:
public void mysqlConnection(){
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();//数据库驱动
String url = "jdbc:mysql://localhost:3306/test";//数据库链接地址
String user = "root";//用户名
String password = "";//密码
Connection conn = DriverManager.getConnection(url, user, password);//建立connection
Statement stmt = conn.createStatement();
conn.setAutoCommit(false);// 更改jdbc事务的默认提交方式

String sql = "select * from score";//查询语句
ResultSet rs = stmt.executeQuery(sql);//得到结果集
conn.commit();//事务提交
conn.setAutoCommit(true);// 更改jdbc事务的默认提交方式
List<String> list=new ArrayList<String>();//创建取结果的列表,之所以使用列表,不用数组,因为现在还不知道结果有多少,不能确定数组长度,所有先用list接收,然后转为数组
while (rs.next()) {//如果有数据,取第一列添加如list
list.add(rs.getString(1));
}
if(list != null && list.size()>0){//如果list中存入了数据,转化为数组
String[] arr=new String[list.size()];//创建一个和list长度一样的数组
for(int i=0;i<list.size();i++){
arr[i]=list.get(i);//数组赋值了。
}
//输出数组
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
}

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}