当前位置: 技术问答>java相关
求教JSP访问ACCESS数据库的SQL语句错误
来源: 互联网 发布时间:2015-07-02
本文导语: 以下是我编写JSP访问ACCESS数据库SQL语句的片段,在执行到该文档时出现了: Internal Servlet Error: javax.servlet.ServletException: [Microsoft][ODBC Microsoft Access Driver] INSE RT INTO ???????? 的错误,是INSERT语句的语法问题吗?还是...
以下是我编写JSP访问ACCESS数据库SQL语句的片段,在执行到该文档时出现了:
Internal Servlet Error:
javax.servlet.ServletException: [Microsoft][ODBC Microsoft Access Driver] INSE
RT INTO ????????
的错误,是INSERT语句的语法问题吗?还是其他部分的错?敬请指教,不胜感激!
covert.jsp:
Internal Servlet Error:
javax.servlet.ServletException: [Microsoft][ODBC Microsoft Access Driver] INSE
RT INTO ????????
的错误,是INSERT语句的语法问题吗?还是其他部分的错?敬请指教,不胜感激!
covert.jsp:
|
sql = "insert into chatroom(nick,sex,color,time,note) values('"+nick+"','"+sex"','"+color"','"+time"','"+note+"')";
这样写就行了
这样写就行了
|
是不是你的数据类型不匹配?
sql语句中字符串要用双引号括起,其它类型用单引号括起!
还有access库中字段插入字符串时,字符串中不能有单引号,不然会报错!!!
sql语句中字符串要用双引号括起,其它类型用单引号括起!
还有access库中字段插入字符串时,字符串中不能有单引号,不然会报错!!!
|
可能是由于插入了中文最好使用preparestatement
写成
sql = "insert into chatroom(nick,sex,color,time,note) values
(?,?,?,?,?)";
PrepareStatement pre=conn.preparedStatement(sql);
是中文用
nick = new String(nick.getBytes("ISO8859_1"),"GBK");
pre.setBytes(1,nick.getBytes("GBK"));
不是中文可不用上面的写法写成
pre.setString(2,sex);
依此类推
pre.setString(3,color);
pre.setString(4,time);
pre.setString(5,note);
pre.executeUpdate();
写成
sql = "insert into chatroom(nick,sex,color,time,note) values
(?,?,?,?,?)";
PrepareStatement pre=conn.preparedStatement(sql);
是中文用
nick = new String(nick.getBytes("ISO8859_1"),"GBK");
pre.setBytes(1,nick.getBytes("GBK"));
不是中文可不用上面的写法写成
pre.setString(2,sex);
依此类推
pre.setString(3,color);
pre.setString(4,time);
pre.setString(5,note);
pre.executeUpdate();