在将字符串强制转换成double时,数据库查询的result字段值为空字符串,而强制转换成double类型的值不能为null或"",这样就导致报错。
解决方法:将强制转换前判断result是否为空字符串。
"".equals(str);
不能用==
<c:set var="sum" value="0"/>
<c:set var="cnt" value="0"/>
<c:forEach items="${pageBean.data}" var="p">
<c:set var="sum" value="${sum+p.NowPrice}"/>
<c:set var="cnt" value="${cnt+1}"/>
</c:forEach>
<table><tr>
<td style="font-size: 20px; color: red;">近七天平均价格为:${sum/cnt}</td></tr></table>
<select name="selectcate" style="width: 100px;height: 30px;">
<option value="">全部类别</option>
<c:forEach var="cate" items="${category.data}">
<option value="${cate.HaCate}">${cate.HaCate}</option>
</c:forEach>
</select>
一般来说,表有外键的话,外键字段必须要建索引。
原因是如果没有索引,插入数据时会锁住整张表,而不是特定的行,这样高并发时就有性能问题。
ON DELETE CASCADE 级联删除
ON UPDATE CASCADE 级联更新
删除/添加外键约束:
alter table hardware drop foreign key hardware_ibfk_1;
alter table hardware add constraint hardware_ibfk_1 foreign key (HaCate) references catagory (HaCate) on delete cascade on update cascade;
//包含当天
SELECT * FROM 表名 WHERE DATEDIFF(字段,NOW())<=0 AND DATEDIFF(字段,NOW())>-n
//不包含当天
SELECT * FROM 表名 WHERE DATEDIFF(字段,NOW())<0 AND DATEDIFF(字段,NOW())>-n
==思路:==最终只用存地址到数据库中,但是需要把文件真实存入项目目录下。
<form action="${pageContext.request.contextPath}/UploadServlet" method="post" enctype="multipart/form-data">
Boolean isMultipart = ServletFileUpload.isMultipartContent(request);
//解析和检查请求,是否是post方式,是否是二进制流格式
if (!isMultipart) {
return; //如果不是就不用上传了
}
for (FileItem item : items) {
if (item.isFormField()) {//普通的表单控件
if (fileName.equals("HaNo")) {//获取表单属性HaNo的值
HaNo = item.getString("GB2312");
}
}
}
item.write(new File(path, realname)); //把上传的文件保存到某个文件中
项目已上传GitHub https://github.com/JiYixhu/DatabasePT
原文:https://www.cnblogs.com/jiyi-conding/p/12510765.html