关于使用prepareStatement语句进行查询的问题?

问题描述

在MyEcelipse中如下语句:conn.prepareStatement("select * from goods where goodsName=?");conn.setString(1,goodsName);问题是这样的,如果goodsName 为一个英文字符串如:"ChangCheng"就能查询出结果,但是如果goodsName为一中文字符串如,查询的结果就为0谢谢各位 问题补充:中文是可以读出的也不是乱码,但是就是能以中文为条件查询,查询出来就为0

解决方案

conn.prepareStatement("select * from goods where goodsName=?");conn.setString(1,goodsName); 没有conn.setString()这中用法,应该是:ps=conn.prepareStatement("select * from goods where goodsName=?");ps.setString(1,goodsName);是这样的。。。。
解决方案二:
楼主估计打错了。你设置一下.java源文件编码试试,设置成UTF-8
解决方案三:
应该是没有问题的,中文英文都支持那种写法,可能是你其他地方出现了问题。。代码贴出看看
解决方案四:
首先保证你的中文不是乱码然后conn.prepareStatement("select * from goods where goodsName='"+中文参数+"'");

时间: 2024-08-07 12:16:21

关于使用prepareStatement语句进行查询的问题?的相关文章

jdbc 动态sql语句拼接 查询不出结果

问题描述 jdbc 动态sql语句拼接 查询不出结果 public List queryByCondition(String command String description) { // message列表 List messageList = new ArrayList(); try { // 加载驱动 Class.forName(""com.mysql.jdbc.Driver""); // 数据库的连接 Connection conn; conn = Dri

看实例学VFP:用SELECT语句创建查询

vfp中可以使用sql语句操作表,并且在使用sql语句操作表时不需要打开数据库.本例介绍的是select查询语句(数据检索),关于select语句的格式请参考:select SQL 命令 或sql语言教程. 在看实例学VFP:对表中记录进行定位与查找操作一文中,我们是使用locate语句作记录定位并同时使用了eof()函数,如果该函数返回真值,说明数据表中不存在所查询的记录并给出提示信息.本例用sql语句对这一部分进行了改写.与上例的区别大致的如下: 1.本例依然使用表格控件作为数据显示控件,表

hql语句只能查询出数据库里面的第一条数据

问题描述 hql语句只能查询出数据库里面的第一条数据 dao层 //查询所有的信息 public List<Stock> getAll() { String hql = ""FROM Stock s LEFT OUTER JOIN FETCH s.people""; return getSession().createQuery(hql).list(); } service层 public List<Stock> getAll() { ret

oracl数据库sql语句怎么查询工资最低的两名员工编号,姓名,工资等信息。

问题描述 oracl数据库sql语句怎么查询工资最低的两名员工编号,姓名,工资等信息. 查询每个部门工资最低的两个员工编号,姓名,工资,等信息.关键是工资最低的两名员工 解决方案 SELECT * FROM ( SELECT bumen, price, ROW_NUMBER () OVER ( PARTITION BY bumen ORDER BY bumen, price DESC ) rn FROM table1 WHERE bumen IN ( SELECT bumen FROM tabl

查询 关键词-hql语句如何查询字段包含关键词

问题描述 hql语句如何查询字段包含关键词 举个列子比如Topic实体,content字段是一个大文本.查询content 包含关键词(中国,台湾,香港)的记录.我想用下面这个语句.可是没有查到这种用法.是只能用like吗?我看到网上有人说like有效率问题.该如何正确处理这种问题呢?FROM Topic t WHERE t.content contains(中国,台湾,香港) 解决方案 如果没有全文索引,只能contain 解决方案二: SQL语句查询字段中是否包含汉字

mysql 语句关联查询问题

问题描述 mysql 语句关联查询问题 mysql 语句关联查询问题 mysql 语句关联查询问题mysql 语句关联查询问题 mysql 语句关联查询问题 mysql 语句关联查询问题 mysql 语句关联查询问题 mysql 语句关联查询问题 解决方案 MySQL的关联查询与子查询MySQL如何执行关联查询Hibernate查询关联对象是否为空的语句 解决方案二: SELECT T1.ID FROM T1 WHERE(T1.ID=(SELECT T2.ID FROM T2 WHERE T2.

mysql-请问一条MYSQL语句直接查询2个表的数据应该怎么写?

问题描述 请问一条MYSQL语句直接查询2个表的数据应该怎么写? 两个数据表都是一样的两个表的名称分别是:c_biao_1 和c_biao_2 $sql = ""select * from c_biao_1 where uid=$uid and js=0 order by addtime desc""; 把这两个表写在一条语句上应该是怎么写? 补充一下,两个表的字段都是一样!~ 我的意思就是想用一句语句就可以查询到2个表的数据出来 解决方案 可以用连接查询,如果二者

sql-对SQL语句级联查询的一些理解,各位进来看我说的对不对?

问题描述 对SQL语句级联查询的一些理解,各位进来看我说的对不对? 外联是通过n去查询1 例如select * from A left join B on B.id=A.bid 内联是通过1去查询n 例如select * from A,B 自己的一些理解 解决方案 不是,left join和inner join的区别是,left join会取得左表有记录,但是右表没有的.比如 左表: id 省 1 河北 2 山东 3 辽宁 右表 省id 城市 1 石家庄 1 邢台 2 青岛 2 济南 那么lef

在java类中写带中文的sql语句,查询结果为空

问题描述 在java类中写带中文的sql语句,查询结果为空 String query="select * from Restaurant where Restaurant_name='紅樹林';"; rs=stm.executeQuery(query); 这是我在封装好的数据库类中写的sql语句,查询结果为空(rs.next() 为false ) 如果改用id查询,即: String query="select * from Restaurant where Restaura