‘壹’ java script 调用sql数据库数据出现问号
出现问号,应该是编码问题。也就是说页面所使用的编码格式和数据库所使用的编码格式不一致。这个时候,数据库中的数据无法显示,会显示为问号。最好能抓个图。这样更容易判断。
‘贰’ java jdbc 插入数据时 数据中存在问号
转移处理。insert into isso.hfcs
(name,xb,sf)
values
('测\?试1','1','摸金\?校尉');
就可以了
‘叁’ JDBC sql语句中包含不是参数的问号
简单的一个例子:登陆.
从登陆框中传过来两个参数.
正常情况下、假设是 aa bb
select * from tbl_user where uname='aa' and upass='bb'
然后有些会sql的人就想到了在参数后面加些其他的东西
比如在bb' or 'a'='a 或者 ;DELETE FROM tbl_user WHERE 1>0之类的
这样SQL语句就变成:
select * from tbl_user where uname='aa' and upass='bb' or 'a' = 'a'
这样的语句是不安全的。
后来就出现PreparedStatement 对象的?占位符,通过给? 设值,可以把传过来的参数当成普通的字符串,包括单引号。这样就避免了一些灾难。
‘肆’ java中这个sql语句写的什么东西。看不懂,问号是占位符吗,deleteCharAt(sql.length()-1)为什么要这样
因为sql是拼接起来的,sql.append("?").append(",");这句话最后会多个"," 要去掉不然执行sql会报错的。sql.deleteCharAt(sql.length()-1); 这句就是去掉sql字符串最后一个字符即","
希望能帮到你!
‘伍’ 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语句时乱码
您好,提问者:
如果你用MySQL管理软件的话就不会出现乱码的现象,这个问题我之前也遇到过,但是我设置了GBK的编码就好了,建议提问者试试!
‘柒’ JAVA调用MySQL的查询语句一直报错,求帮忙
还真没看出来哪里错了,参数预处理就是这么写的,从异常信息看,提示的是sql错误,但是jdbc的路径不是官方驱动的路径,是不是你自己打的包,我怀疑你用的驱动包不支持这种写法,因为sql提示就是参数没有代进去
‘捌’ 为什么在java中添加的数据成功后,在数据库中显示的是问号
在action或者servlet中打印一下,看看这里是不是问号
如果是的话就把参数的字符集处理一下,如果这里是正常的文字而数据库里是问号,就看看你java用的字符集和数据库用的字符集是不是不同,调整为相同字符集就可以了
‘玖’ 如下代码,出现了异常,求大神解决。说是SQL语句问号出现了异常,看了半天没看出哪里有问题!!!
你的SQL不规范,写有的问题,缺少GROUP关键字。
SQL结尾需要加上 group by user_id