jsp上传同时写数据库问题。谢谢

赤膊超人 2007-03-27 03:49:19
本人是用jspsmart实现上传的,我同时想把文件的相对地址写入数据库,上传没问题。但是写数据库老是出错,请问怎么解决。代码是这样的 请问问题出在哪里?
String insert1=("insert into test_image values('"+text1+"','"+text2+"','"%><%=file.getFilePathName()%><%"')");
stmt.executeUpdate(insert1); out.println("pass!!");
...全文
267 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
GavinFj 2007-03-27
  • 打赏
  • 举报
回复
哈哈,结帖咯....拿分来了:)
赤膊超人 2007-03-27
  • 打赏
  • 举报
回复
查询分析器 明白了
太感谢大家了
craig_wolfdon 2007-03-27
  • 打赏
  • 举报
回复
路过
GavinFj 2007-03-27
  • 打赏
  • 举报
回复
你用的也是sql server2000吧,做数据库操作的时候可以先用查询分析器试下有没有问题。
daniel_kaka 2007-03-27
  • 打赏
  • 举报
回复
那就看你的文件名里面是不是含有'之类的字符了,从错误上来看,在你的语句前面的单引号已经封闭了,出现了多余的单引号一起的。
赤膊超人 2007-03-27
  • 打赏
  • 举报
回复
试过了
String insert1="insert into test_image values('"+p1+"','"+p2+"','"+file.getFilePathName()+"')";
行了
谢谢
赤膊超人 2007-03-27
  • 打赏
  • 举报
回复
file.getFilePathName()那个字段是nvarchar型的
file.getFilePathName()含有\的话,我用file.getFileName()存文件名也不行的
GavinFj 2007-03-27
  • 打赏
  • 举报
回复
你数据库存file.getFilePathName()那个字段是什么类型,能存的进去吗?
先用查询分析器试下,是不是可以写入。
daniel_kaka 2007-03-27
  • 打赏
  • 举报
回复
file.getFilePathName()返回的结果是含有“\”,而在java中“\”是转义符,所以你不可能把“\”用程序保存到数据库中.
解决办法String pathName = file.getFilePathName().replaceAll("\\","/");
赤膊超人 2007-03-27
  • 打赏
  • 举报
回复
fname什么类型?String肯定不行 我试过了
hymxtang 2007-03-27
  • 打赏
  • 举报
回复
<%fname=file.getFilePathName()%>
('"+text1+"','"+text2+"','"+fname+"')
赤膊超人 2007-03-27
  • 打赏
  • 举报
回复
107行
就是String insert1=("insert into test_image values('"+text1+"','"+text2+"','"%><%=file.getFilePathName()%><%"')");
这句
我觉得('"+text1+"','"+text2+"','"%><%=file.getFilePathName()%><%"')");有问题的
赤膊超人 2007-03-27
  • 打赏
  • 举报
回复
org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 107 in the jsp file: /uploadtest.jsp
Generated servlet error:
C:\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\welcome\org\apache\jsp\uploadtest_jsp.java:179: ';' expected
out.print(file.getFilePathName());
^


An error occurred at line: 107 in the jsp file: /uploadtest.jsp
Generated servlet error:
C:\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\welcome\org\apache\jsp\uploadtest_jsp.java:180: not a statement
"')";
^
2 errors

jjoohhnn13 2007-03-27
  • 打赏
  • 举报
回复
控制台报什么错贴出来看看

你可以用out.println(insert1); 把insert1打出来看下

复制到 数据库运行是否能够插入

81,114

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧