jsp将word文件以二进制形式存入sqlserver数据库中一个表的第五列中
<%@ page contentType="text/html;charset=utf-8" %>
<%@ page import="java.sql.*,java.lang.*" %>
<%@ page import="java.util.Date"%>
<%@ page import="java.text.*"%>
<%@ page import="java.io.*"%>
<html>
<body bgcolor=pink><font size=3>
<%
Connection con=null;
Statement sql=null;
ResultSet rs=null;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundException event){out.print(event);}
try{
con=DriverManager.getConnection("jdbc:odbc:my","sa","sa");
sql=con.createStatement();
//获取提交的文件标记
String fileiden=request.getParameter("fileiden");
if(fileiden==null){
fileiden="-100";
}
//获取提交的文件名
String filename=request.getParameter("filename");
if (filename==null){
filename=" ";
}
byte b2[]=filename.getBytes("ISO-8859-1");
filename=new String(b2);
//获取提交的新的编写单位
String makeauth=request.getParameter("makeauth");
if(makeauth==null){
makeauth=" ";
}
byte b3[]=makeauth.getBytes("ISO-8859-1");
makeauth=new String(b3);
//获取提交的新的发布时间
String pubtime=request.getParameter("pubtime");
if(pubtime==null){
pubtime=null;
}
byte b4[]=pubtime.getBytes("ISO-8859-1");
pubtime=new String(b4);
//获取提交的新的文件
String content=request.getParameter("content");//参数image要修改
content=new String(content.getBytes("8859_1"),"gb2312");
FileInputStream str=new FileInputStream(content);
String condition="INSERT INTO polnorm(文件标识码,文件名称,制文机关,发布时间,内容)VALUES"+"("+fileiden+","+"'"+filename+"',"+"'"+makeauth+"',"+"'"+pubtime+"',"+"'?'"+")";
PreparedStatement pstmt=con.prepareStatement(condition);
pstmt.setBinaryStream(1,str,str.available());
pstmt.execute();
pstmt.close();
str.close();
%>
java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]COUNT 字段不正确或语法错误
答案:2 悬赏:70 手机版
解决时间 2021-02-21 07:25
- 提问者网友:却不属于对方
- 2021-02-20 10:00
最佳答案
- 五星知识达人网友:拜訪者
- 2021-02-20 10:31
polnorm(文件标识码,文件名称,制文机关,发布时间,内容)这里怎么写中文啊,应该写表的字段名才对,你改下试试。
全部回答
- 1楼网友:佘樂
- 2021-02-20 11:43
string sql="insert into tb_menu values (?,?,?,?,?,?,?,?,?,?)";
ps.setstring(2, goodsid);
ps.setint(3, ordernum);
ps.setstring(4, goodsname);
ps.setstring(5, goodscode);
ps.setstring(6, goodssort);
ps.setstring(7, unit);
ps.setint(8, count);
ps.setdouble(9, unitprice);
ps.setdouble(10, price);
第一个字段没有设值
我猜一个应该是一个自增长的id吧
那你的insert语句就写错了
insert into tb_menu(除了id之外的fieldname 应该写在括号里面) values (?,?,?,?,?,?,?,?,?,?)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯