tnjk.net
当前位置:首页 >> jAvA+mysql使用sql语句的问题 >>

jAvA+mysql使用sql语句的问题

String sql = "select * from bookinfo where Bookname like "+"%" + bookname + "%";

import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; public class xxxx { public static void main(String[] args) { Connection con = null ; Statement stmt = null ; tr...

executeQuery是专门用于执行sql查询的方法,从你的sql来开不是查询,而是执行的见表和插入语句,这种操作应该使用executeUpdate方法,同时不要把见表语句和insert语句拼成一个整个的语句去执行,这种方式在数据库直接执行ok没问题,但通过代码走...

首先基础性问题,between startTime and endTime,startTime是否小于endTime,至于类型的转换,mysql中有的不是那么严,但最好把时间类型转换成一致的。其实你的具体问题是什么我不是很清楚,仅从你的描述上不知道在sql方面遇到的问题

pars是什么内容,你的数据源是不是oracle的?

1.psmt.setString(1,"%"+name+"%"); psmt.setString(2,"%"+book+"%"); psmt.setString(3,"%"+writer+"%"); 这边拼接字符串少了单引号。 "'%"+name+"'%" 2.SELECT* 最好select和*之间加一个空格

1、Connection conn = DriverManager.getConnection(URL,数据库登录名,数据库登录密码);//获得数据库连接。 2、Statement statement = con.createStatement(); //访问数据库。 3、ResultSet resultSet = statement.executeQuery(sql);//执行SQL...

我分析可能的原因是: 程序中连接数据库失败; sql中的参数有误; 程序中的sql被做了转义。 具体问题及解决,还是需要你贴出错误信息。 从错误提示上看,是sql语法错误。建议你把程序中生成的sql打印一下看看。

那就用PreparStatement 先用?占位符 再setString(,)这样还比较安全

你说的是跨schema查询么?这样不行把,一个connection不是只能连接到一个schema上的么

网站首页 | 网站地图
All rights reserved Powered by www.tnjk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com