黑马程序员技术交流社区

标题: 这个异常怎么解决? [打印本页]

作者: 崔增阳    时间: 2013-5-28 19:51
标题: 这个异常怎么解决?
本帖最后由 崔增阳 于 2013-5-29 13:57 编辑

package mysql;
import java.sql.*;
import java.io.*;
public class ClobTest {
public static void main(String[] args) throws Exception{
  create();
}
static void create()throws Exception{
  Connection conn = null;
  PreparedStatement ps = null;
  ResultSet rs = null;
  try {
   conn = JdbcUtils.getConnection();
   String sql="insert into clob_test(big_text)valus(?)";
   ps = conn.prepareStatement(sql);
   File file=new File("e:\\CRUD.java");
   Reader reader=new BufferedReader(new FileReader(file));
   ps.setCharacterStream(1, reader, (int)file.length());
   ps.executeUpdate();
   reader.close();
  } finally {
   JdbcUtils.free(rs, ps, conn);
  }
}
}




Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'valus('package mysql;\r\n\r\nimport java.sql.Connection;\r\nimport java.sql.Resu' at line 1
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.Util.getInstance(Util.java:386)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4120)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4052)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2503)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2664)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2815)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2458)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2375)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2359)
at mysql.ClobTest.create(ClobTest.java:22)
at mysql.ClobTest.main(ClobTest.java:9)


作者: 石贤芝    时间: 2013-5-28 21:32

Mysql 语法错误。

String sql="insert into clob_test(big_text)valus(?)"; 中的 valus 写错了,请改为values重新尝试。

MySQLSyntaxErrorException 此异常为Mysql语法错误异常。


作者: 吴刚—heima    时间: 2013-5-29 09:50
童鞋,你的PreparedStatement ps 没有创建,还有你sql语句的执行语法正确吗,你加上ps=conn.createStatrment();rs=ps.escuteQuery(sql)试一下!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2