带有参数的sql查询

问题描述

Statement st = conn.createStatement();ResultSet rs = null;String strSQL = "select * from books where title like '%"+title+"%'";rs=st.executeQuery(strSQL);rs.last();int rows = rs.getRow();System.out.println("行数:"+rows);在数据库中查询,可以正确查到结果;但是在java里rows的却是0,请问是什么原因? 问题补充:liveHappy 写道

解决方案

你现在的rs证明已经有了结果集对吧?你的目的不是要结果集?非得去取最后的那个行数呗?这么写:Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);把Statement加两个参数。在实验一下。
解决方案二:
神啊,count()一下不行么~~~。我猜测是要做分页吧~~~
解决方案三:
你的sql语句没看出什么问题。如果你在mysql中去查询能查出数据,是因为你的条件是写死的,找个有效的词语做条件就能查询出来。而在java中你写的sql语句是带有变量参数的。那你现在没有查出数据的话,可能是你的参数没有接收到值。我只是这么猜测,或者你提交的参数中带有特殊字符等。你看看提交过来的title变量有值没?
解决方案四:
你可能不太理解getRow方法的用途。源码解释:引用Retrieves the current row number. The first row is number 1, thesecond number 2, and so on.etRow()不是返回数据集的行数多少的!!! 该方法是返回数据库当前行的行号!!!即rs所指的行号 第一行应该为1,第二行应该为2,以此类推。 return源码解释:引用the current row number; <code>0</code> if there is no current row返回当前行数,0,如果是没有当前行数。也就是说由于你没有执行过rs.next()所以,rs指向第一行的上边,所以返回不是1,至于0可能是系统内定的。

时间: 2024-09-09 08:43:44

带有参数的sql查询的相关文章

Mybatis传递多个参数进行SQL查询的用法_java

PS:ibatis3如何传递多个参数有两个方法:一种是使用java.Map,另一种是使用JavaBean. 当只向xxxMapper.xml文件中传递一个参数时,可以简单的用"_parameter"来接收xxxMapper.java传递进来的参数,并代入查询,比如说这样: (1)xxxMapper.java文件中这样定义: List<String> selectAllAirportCode(Boolean mapping); (2)这时在对应的xxxMapper.xml文件

dropdownlist内容作为SQL的查询参数,怎么实现默认为“不限”,从而SQL查询时,此参数限定条件为“无”?

问题描述 dropdownlist内容作为SQL的查询参数,怎么实现默认为"不限",从而SQL查询时,此参数限定条件为"无"?多谢指教!! 解决方案 解决方案二:你把dropdownlist里添加个不限这项SelectValue设为空!查询如果时候传这个参数自动传为空解决方案三:不懂.....设置成1=1??select*fromtablewhere1=1不就不限了解决方案四:添加个item,value值为空.解决方案五:DDLCarId.Items.Insert(

SQL查询语句对象化的实现(C#)

对象|语句   在开发数据库应用的过程难免会编写大量的SQL语句,其中大部份是查询语句:为不同情况编写查询语句是一件很烦琐的事件.用过hibernate或Nhibernate会了解到把SQL查询语句对象化后使用起非常方便和快捷:也大大减少在编写查询SQL语句所带来的错误等问题.        前段时间在编写一个数据处理类的时候同样遇到这个问题,经过一段时间思考和设计现实现了SQL查询语句对象化的功能:在这里我把自己小小的成果共享一下. 在讲解前先看几个例子(数据是SQLServer的Northw

Access教程 如何模糊参数进行分页查询代码

  下面重点给大家介绍如何模糊参数进行分页查询的教程,接下来一起来看看制作的代码吧! 具体代码如下: string sql = "Select Count(ID) As rcount From TbProduct WHERE classID IN(" + ids + ") AND PRODUCTNAME LIKE '%'+@ProductName+'%'"; OleDbParameter[] sps = new OleDbParameter[1]; sps[0] =

select-ORACLE SQL查询错误ORA-00913

问题描述 ORACLE SQL查询错误ORA-00913 select * from a where a.order_id in () or a.order_id in () or a.id in () ......... or连接符大约有197个左右吧,查询开始报错,哪位大神求解!图片说明 解决方案 ORACLE错误(ora查询索引)SQL 错误: ORA-12910 解决方案二: 向数据库中传递的参数的个数和数据库中相应的字段的数量不一致,值过多,检查一下字段 解决方案三: ORACLE已经

ASP .NET 如何在 SQL 查询层面实现分页

[编者按]本文作者为来自巴基斯坦的软件开发工程师 Aqeeel,主要介绍了在 SQL 查询层面实现 ASP.NET 应用的分页方法. 本文系 OneAPM 工程师编译呈现,以下为正文. GridView 提供了一种实现分页的方法.但是,随着记录的不断扩大,我们需要在查询层面进行优化. 简介 在 SQL 查询层面实现 ASP.NET 程序分页,而不借助 GridView. 背景 无可否认,GridView 是在 ASP.NET Web 表单展示数据的强大工具,它能在结果集较大时实现分页.然而,后端

Spring+Mybatis实现动态SQL查询

在报表类应用中,通常需要根据不同的维度去组合复杂的查询条件,然后构造SQL去执行查询.如果只是通过在程序中简单地拼接SQL语句,工作量会非常大,而且代码可能也非常难以维护.Mybatis支持动态SQL查询功能,可以通过配置动态的SQL来简化程序代码中复杂性,不过,这个颇有点XML编程的韵味,通过XML来处理复杂的数据判断.循环的功能,其实也很好理解. 准备工作 下面,我们首先创建一个MySQL示例表,如下所示: 01 CREATE TABLE `traffic_info` ( 02 `id` i

15个初学者必看的基础SQL查询语句

本文将分享15个初学者必看的基础SQL查询语句,都很基础,但是你不一定都会,所以好好看看吧. 1.创建表和数据插入SQL 我们在开始创建数据表和向表中插入演示数据之前,我想给大家解释一下实时数据表的设计理念,这样也许能帮助大家能更好的理解SQL查询. 在数据库设计中,有一条非常重要的规则就是要正确建立主键和外键的关系. 现在我们来创建几个餐厅订单管理的数据表,一共用到3张数据表,Item Master表.Order Master表和Order Detail表. 创建表: 创建Item Maste

sql server-一个关于MS sql查询的问题!

问题描述 一个关于MS sql查询的问题! 数据库字段内容是:89|10226|120|707 现在: 大类的 A 对应的ID是120 大类B对应的小类B_1的ID也是120, 接收参数的时候: A传过来的是:a120,B传过来的是b120,这样可以区别是那个类别传过来的参数 问题就出来了,点B_1分类和A分类这条信息都会搜索出里,请问大神们,这sql要怎么写? 解决方案 你的数据库哪个字段或字段的哪个部分对应的是大类(比如你说的A,B),小类(比如你说的B_1)?有的话才有可能分,没有怎么分啊