nncapicc 2009-07-29 16:24
浏览 8739
已采纳

Column '列名' cannot be null

我用的是mysql数据库 程序提示Column '列名' cannot be null错误
请问这个问题怎么解决我用的是mysql数据库 程序提示Column '列名' cannot be null错误
请问这个问题怎么解决
[b]问题补充:[/b]
public void add(Connection con, DepartVO dep) throws SQLException {
// TODO Auto-generated method stub

    PreparedStatement stmt = null;
    ResultSet rs = null;

    try {
        StringBuffer sql = new StringBuffer();
        sql.append(" INSERT INTO departdb(");
        sql.append(" d_name,sis)");
        sql.append(" VALUES(?,?) ");
        stmt = con.prepareStatement(sql.toString());

        stmt.setString(1, dep.getDName());
        stmt.setDate(2, dep.getSis());
        stmt.execute();

    }
    finally {
        // 关闭连接;
        stmt.close();
    }
}

错误提示:
java.sql.SQLException: Column 'd_name' cannot be null
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2921)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1570)
at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:1085)
at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:670)
at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:770)
at com.lgjt.dao.DepartDAO.add(DepartDAO.java:27)
at com.lgjt.service.BusinessService.saveDepart(BusinessService.java:47)
at com.lgjt.struts.action.DepartAddAction.execute(DepartAddAction.java:51)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.lgjt.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:34)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:595)
[b]问题补充:[/b]
我在文本框中输入 内容了啊
我尝试过在mysql中d_name字段中设置可以为空
但是什么东西都录入不进去

  • 写回答

6条回答 默认 最新

  • X_newman 2009-07-29 17:15
    关注

    没道理啊一般这种报错都是因为你的dep.getDName()是null,即以个不为空的字段被写入了空值

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!