Connection con = connectionFactory.getconnection();
String sql1="insert into $hanzdb.photolist (content,imageurl) values ('fileForm.getContend','upload/’+fname)";
PreparedStatement ps = con.prepareStatement(sql1);
ps.setString(1, fileForm.getContent());
ps.setString(2, fileForm.getImageurl());
//ResultSet rs = ps.executeQuery();
ps.executeUpdate();
out.flush();
out.close();
file.destroy();通过流上传图片路径到MySQL数据库,imageurl字段下类容为upload/xxxx.jpg(xxx.jpg 就是fname)
网上查了资料,一直没解决插入不成功!
其中photolist表结构如下
id imageid tile uploadtime content imageurl address
1 1 联想 2009-06-12 00:00:00 集体合影 upload/xxxx.jpg 北京
图片能成功上传到项目的upload目录下,就是插入路径出现问题,往有经验者能给与提示,谢谢!
String sql1="insert into $hanzdb.photolist (content,imageurl) values ('fileForm.getContend','upload/"+fname+"')";
把:
insert into $hanzdb.photolist (content,imageurl) values ('fileForm.getContend','upload/’+fname)改为:
insert into $hanzdb.photolist (content,imageurl) values ('fileForm.getContend',concat('upload/’,fname))
字段名
String sql1="insert into $hanzdb.photolist (content,imageurl) values ('fileForm.getContend',concat('upload/’+fname))";
贴出你的sql1 的内容,另外和你的表的 create table 语句。这样别人才能帮你分析。
我是用MySQL Query Browser建的表,经验不足,没有把见表语句备份起来!
1. 贴出你当前的 sql1 的内容,这个在你的JAVA程序中调试中可得。
2. 在你的 MySQL Query Browser 中执行 show creaate table photolist
String sql1="insert into $hanzdb.photolist (content,imageurl) values
('fileForm.getContend','upload/"+fname+"')";
'photolist', 'CREATE TABLE `photolist` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`imageid` int(10) unsigned DEFAULT NULL,
`title` varchar(45) NOT NULL,
`updatetime` datetime NOT NULL,
`content` varchar(45) NOT NULL,
`imageurl` varchar(60) NOT NULL,
`address` varchar(16) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8'
20094524
fname=20094524.jpg
Upload ok
好吧,sql1语句无法打印出结果
PreparedStatement ps = con.prepareStatement(sql1);
ps.executeUpdate();
PreparedStatement ps = con.prepareStatement(sql1);
ps.setString(1, fileForm.getContent());
ps.setString(2, fileForm.getImageurl());
String sql1="insert into $hanzdb.img (content,imageurl) values (?,?)";
String sql1="insert into $hanzdb.photolist (content,imageurl) values (?,?)";
PreparedStatement ps = con.prepareStatement(sql1);
ps.setString(1, fileForm.getContent());
ps.setString(2, fileForm.getImageurl());
//ResultSet rs = ps.executeQuery();
ps.executeUpdate();
out.flush();
out.close();
file.destroy();
String sql1="insert into $hanzdb.photolist (content,imageurl) values (?,?)";
PreparedStatement ps = con.prepareStatement(sql1);
ps.setString(1, fileForm.getContent());
ps.setString(2, "upload/"+fileForm.getImageurl());
ps.executeUpdate();
out.flush();
out.close();
file.destroy();