select-java从数据库取出一条语句放入字符串

问题描述

java从数据库取出一条语句放入字符串
String selectSql = ""SELECT DISTINCT project_name FROM tb_amount_tran WHERE round = '种子天使'"";
ResultSet selectRes = stmt1.executeQuery(selectSql);
while (selectRes.next()) {
String s = selectRes.getString(""project_name"");
project[i]= s;
i = i + 1;
}

    代码如上,假设匹配出来的数据只有一条,怎么写程序放入project[]数组里。    while (selectRes.next())语句只能用在多条数据的情况下。    我应该怎么改?

解决方案

selectRes是查询出来的结果,只有一条匹配,selectRes就只有一条记录,不存什么只能用在多条数据的情况下。

解决方案二:
最好用一个List装,然后转换成数组,如果你十分确定是只有一条数据,那可以直接用obj[0]=xxx然后就放进去了。

解决方案三:
rs.hasnext

rs.next

难道你没发现之前的代码不管怎样都会少一条么

解决方案四:
我记得有一个selectRes.first()

解决方案五:
if (selectRes.next()) {
String s = selectRes.getString(""project_name"");
project[i]= s;
}

while 改成 if,这样在没有数据的时候,就取不到,在有一条或多条数据的时候,能保证只取到第一条

解决方案六:
一条的时候,就没有下一次循环了啊。一条跟多条都是一个逻辑的啊。

时间: 2024-12-30 18:43:37

select-java从数据库取出一条语句放入字符串的相关文章

java 从数据库取出数据,精度问题

问题描述 在数据库里存的数据类型为float,查出的数据是31164.6,在java程序中我设的是String类型,从数据库取出,发现这个数变成了31164.600000000002,有什么办法解决? 解决方案 解决方案二:sql里面to_char试试解决方案三:如果是String型的,不应该有精度问题.你是否是将String取出来,然后转float了,这样会有精度问题.如果必须考虑精度问题,建议使用BigDecimal处理,不会有精度损失.解决方案四:sql你数据库什么类型,你取时候就用对应的

java中如何使用这条语句last_insert_id()得到最后插入记录的ID值

问题描述 比如Stringsql="insertintomembervalues(?,?)";PreparedStatementpstmt=conn.getPstmt(sql);pstmt.setInt(1,0);pstmt.setString(2,username);intflag=pstmt.executeUpdate();id=last_insert_id()就是这一句如何写,我想得到插入记录的ID值,赋值给id 解决方案 解决方案二:selecttop1idfrommember

SQL Server把某个字段的数据用一条语句转换成字符串_MsSql

例如数据 列Name 复制代码 代码如下: name a b c d 最后的结果 复制代码 代码如下: a*b*c*d* declare @test table( namevarchar(10))  insert into @testvalues('a'),('b'),('c'),('d');                               select distinct (select cast(name asvarchar(2))+'*'from @test for xml pa

SQL Server把某个字段的数据用一条语句转换成字符串

例如数据 列Name 复制代码 代码如下: name a b c d 最后的结果 复制代码 代码如下: a*b*c*d* declare @test table( namevarchar(10))  insert into @testvalues('a'),('b'),('c'),('d');                               select distinct (select cast(name asvarchar(2))+'*'from @test for xml pa

Java的数据库应用

数据|数据库 利用Java开发数据库应用系统时,经常需要在用户界面上显示查询结果.由于SUN公司提供的JDK1.x开发工具包不是可视化的集成开发环境(IDE),不能象Delphi.VB那样方便地把查询结果在DBGrid等表格中显示出来.因此,只能靠自己编写代码来实现. 在实际应用中,我们可以利用Vector.JTable.AbstractTableModel等三个类较好地解决这一问题.以下,详细介绍一下实现方法. 一. 类Vector.类JTable及类AbstractTableModel简介:

java-如何理解"add".equals( type)这条语句

问题描述 如何理解"add".equals( type)这条语句 如何理解"add".equals( type)这条语句,type是一个类吗," add"是一个实例吗,equals和instanceof有什么区别和联系么? 解决方案 equals通常用来比较两个字符串是否相等,还可以通过重写equals方法来比较两个对象是否相等,如果add是一个对象,和它相比的type也是对象(不是类), 而instanceof 是用来表示 一个对象是否是某个类

使用sql语句,去掉字符串里面的多个括号中的字符串

问题描述 使用sql语句,去掉字符串里面的多个括号中的字符串 比如说,源串是 adgdg[ewrerw]fdafda[2323][244]fdfd, 希望执行语句后得到的是 adgdgfdafdafdfd,即去包含[]以及内部的字符串,这个SQL该怎么写呢? 解决方案 SELECT REGEXP_REPLACE('adgdg[ewrerw]fdafda[2323][244]fdfd','([(.*?)])', '' ) FROM DUAL; 发现这样写可以实现这个目的. 解决方案二: 执行sql

mysql-SQL数据库一对多关系如何取出多条数据?

问题描述 SQL数据库一对多关系如何取出多条数据? 现在有两张表,表一是users(用户表)表二是works(作品表) 一个用户可以有多个作品,查询后显示结果如下,请问怎么查询? 解决方案 inner join查出来,每条都带有作者信息,需要你自己合并成前台需要的数据结构 或者,先查出作者,然后ajax去请求每个作者的作品,然后填充 解决方案二: 用如下sql语句进行查询就可以了,但是要换成你具体数据表中的字段select user.name,user.sex,works.name,works.

为什么数据库中有多条数据,单只能取出一条

问题描述 正在做一个web练手项目,使用mysql数据库,和tomcat的连接池.在连接数据库读取数据时,数据库中有多条记录,但却只能取出一条,而直接使用navicat for mysql直接运行查询语句却能读取出所有数据,求指教啊. 代码如下:public List<Article> findAll(){List<Article> result = new ArrayList<Article>();Connection conn = null;PreparedStat