问题集合-解决方法2

问题1:数据库无法插入汉字,能够正常的通过前台输入数字、字符插入这些数据,但是输入汉字能够调用到数据库,即能够发送SQL语句到数据库stat.executeUpdate(sql);能运行,但是无法将数据插入数据库();

报错如下:

    Incorrect string value: '\xE5\x95\xA5' for column 'data' at row 1
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3976)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3912)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530)

答:通过调试,发现输入的汉字能够被Javabean类接收;通过查找资料得到解决方法:

String url ="jdbc:mysql://localhost/test?user=root&password=andan178&useUnicod"+ 
"e=true&characterEncoding=utf-8" ;
/*修改为:
String url ="jdbc:mysql://localhost/test?user=root&password=andan178&useUnicod"+ "e=true&characterEncoding=utf-8" ;
*/

问题2:

解决汉字插入数据库显示的是???的形式。对mysql安装目录下的my.ini配置文件进行修改,在文件中添加

[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

之后以管理员的身份运行cmd,输入net stop mysql,然后输入net start mysql即可解决以上问题。

参考博客:https://www.cnblogs.com/houqi/p/5713176.html

问题3:

java.sql.SQLException: Column 'message' not found.

问题描述:通过数据库查找出的数据,希望能够返回到前台,前台并未捕获该数据;

答:

解决思路:可能是前台的使用<div>${show}</div>获取后台数据时出错了。没有添加迭代器,<s:iterator id="aa" value="list">;迭代器各参数的介绍如下博客。

https://blog.csdn.net/sshxdwy/article/details/48712383

最终的原因:问题在于调用Dao包函数时,rs应该使用数据库中列名,而不是Javabean对象中的属性名,即

while(rs.next()){
cnbean.setMessage(rs.getString("data"));//而不是rs.getString("message")!
}

问题4:

数据库如何更新数据,即插入一条数据,当即删除一条数据。

答:使用的update方式,即数据库中只有一条数据,每次点击保存,就会调用Dao包中的UpdateDao类中的Update方法,然后将data数据部分进行替换即可。

问题5:

之前解决了数据库存储汉字时显示???异常,之后通过修改配置文件解决了问题,但是在上一步操作中,进行了删表操作,然后重新创建表,加入id属性,之后就出现了类似以前没有修改mysql配置文件时的问题。如下:

java.sql.SQLException: Incorrect string value: '\xE6\xB1\x89\xE5\xAD\x97' for column 'data' at row 1
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3976)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3912)

答:解决方法是:由于删除了表格,重新建表是没有设置ENGINE=MyISAM DEFAULT CHARSET=utf8属性,导致表格的属性仍旧为lain1,所以需要在创建表的后面加上上面的属性设置语句。Linux加ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

问题5:

如何直接在jsp页面显示数据库内容,而不通过按钮操作显示处出来。

答:通过在jsp中添加Java后台代码,步骤先在首部导入Java包,再在head头部中加入申明对象语句,最后在body部分显示。

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%@ page import="com.my.dao.UpdateDao" %>
<%@ page import="com.my.bean.UpDateBean" %>


<title>Insert title here</title>
<%
   UpDateBean cnbean=new UpdateDao().GetDate();
%>

<div id="show"><%=cnbean.getMessage()%></div>

问题6:

如何设置textarea的自适应大小,以及外边框框的大小

<textarea class="comments" rows=18 name=s1 cols=27 onpropertychange= "this.style.posHeight=this.scrollHeight "></textarea>

问题7:

数据库如何存储图片内容

https://blog.csdn.net/u010512964/article/details/59549110

https://zhidao.baidu.com/question/622245126559056292.html

问题8:

需改Linux服务器的mysql的my.cnf配置文件

https://blog.csdn.net/failure01/article/details/8862516

重启MySQL方法

root@iZwz90n4kx90uy36z8w9fnZ:/usr/local/mysql# ./support-files/mysql.server restart
Shutting down MySQL
.. * 
Starting MySQL

问题9:

字体设置:

https://blog.csdn.net/sinat_39430615/article/details/77142137

猜你喜欢

转载自blog.csdn.net/weixin_38823480/article/details/82717275
今日推荐