Unknown column '????????????' in 'field list'

laipi8882 2011-01-10 10:20:24
严重: Servlet.service() for servlet Faces Servlet threw exception
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column '????????????' in 'field list'
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2870)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1665)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3118)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3047)
at com.mysql.jdbc.Statement.execute(Statement.java:692)
at org.springframework.jdbc.core.JdbcTemplate$1ExecuteStatementCallback.doInStatement(JdbcTemplate.java:369)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:343)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:376)
at com.jhb.tbclient.dao.CheckDAO.save(CheckDAO.java:17)
at com.jhb.tbclient.service.TipsService.saveDictionary(TipsService.java:195)
at com.btcms.dictionary.service.DictionaryManagerService.saveDictionary(DictionaryManagerService.java:307)
at com.btcms.dictionary.DictionaryOperationBean.save(DictionaryOperationBean.java:213)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.operamasks.el.eval.ELEngine.invokeMethod(ELEngine.java:449)
at org.operamasks.el.resolver.SingleMethodClosure.invoke(SingleMethodClosure.java:80)
at org.operamasks.el.parser.ELNode$ACCESS.invoke(ELNode.java:1298)
at org.operamasks.el.parser.ELNode.invokeMethod(ELNode.java:232)
at org.operamasks.el.eval.MethodExpressionImpl.invoke(MethodExpressionImpl.java:83)
at org.operamasks.faces.application.impl.ActionListenerImpl.processAction(ActionListenerImpl.java:107)
at javax.faces.component.UICommand.broadcast(UICommand.java:383)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:453)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:770)
at org.operamasks.faces.lifecycle.InvokeApplication.execute(InvokeApplication.java:42)
at org.operamasks.faces.lifecycle.LifecycleImpl.doPhase(LifecycleImpl.java:135)
at org.operamasks.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:83)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.operamasks.faces.webapp.filter.DefaultSuffixRedirector.doFilter(DefaultSuffixRedirector.java:63)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
谢谢
...全文
419 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
kerioz 2011-01-10
  • 打赏
  • 举报
回复
那就是赋值的时候给错类型了呗 varchar类型的赋值要用‘’包起来啊
tt986101dpc 2011-01-10
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 qingyuan18 的回复:]

sql = insert into dd_idcard_type (IDCARD_TYPE_NAME,IDCARD_TYPE_CODE,IS_ENABLE,BEGIN_DATE,END_DATE,BRIEF)values(111,111,是,null,null,null) --‘是’应该是字符串
[/Quote]

忘记加''了。。。
qingyuan18 2011-01-10
  • 打赏
  • 举报
回复
sql = insert into dd_idcard_type (IDCARD_TYPE_NAME,IDCARD_TYPE_CODE,IS_ENABLE,BEGIN_DATE,END_DATE,BRIEF)values(111,111,是,null,null,null) --‘是’应该是字符串
whut_lcy 2011-01-10
  • 打赏
  • 举报
回复
sql语法问题。
给列赋值的时候,如果是字符串值,必须用单引号括起来 '是'
laipi8882 2011-01-10
  • 打赏
  • 举报
回复
我用的是Spring的tbclientjdbc查的数据
kerioz 2011-01-10
  • 打赏
  • 举报
回复
无效的列名 自己再注意看看
还有 如果是用的JDBC 注意Statement对象的使用
有时候上一个操作完成了 Statement对象未关闭 又不会继续走到下一个SQL语句
例如
stmt1 = pudhbjConn.createStatement();
rs2=stmt1.executeQuery("select * from bua_v_role where ROLE_ID ="+rs1.getString("ROLE_ID"));
String sql="select * from bua_v_privilege where PRIVILEGE_ID ="+rs1.getString("PRIVILEGE_ID");
stmt1 = pudhbjConn.createStatement();
rs3 = stmt1.executeQuery(sql);

这就是我写的 可以看到有多次创建Statement对象stmt1 原因就是因为我上面说的
如果去掉 就一直报列名无效 SQL语句到SQL编辑器运行也确实能运行 注意细节
我懒得改 所以就直接的这样了 呵呵 很久没写这些了
laipi8882 2011-01-10
  • 打赏
  • 举报
回复
上面是我打印出来的sql语句,不该有问题啊
laipi8882 2011-01-10
  • 打赏
  • 举报
回复
我sql语句
sql = insert into dd_idcard_type (IDCARD_TYPE_NAME,IDCARD_TYPE_CODE,IS_ENABLE,BEGIN_DATE,END_DATE,BRIEF)values(111,111,是,null,null,null)
laipi8882 2011-01-10
  • 打赏
  • 举报
回复
没有用中文做字段名啊
mousejerry1220 2011-01-10
  • 打赏
  • 举报
回复
查询语句里的????????????字段,在你的表中没有找到。

或者如果????????????应该是中文的话,那可能是java服务端向数据库服务端发送的SQL出现中文乱码,建议不要用中文做字段名
happyfmy 2011-01-10
  • 打赏
  • 举报
回复
Unknown column '????????????' in 'field list'
sql语句有问题吧
RyanER 2011-01-10
  • 打赏
  • 举报
回复
这一类的问题很容易就范了 LZ要多注意

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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