sql语句中字符串类型的变量前后需要使用单引号

eclipse报错误:
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 ':/Users/BY/Documents/Notes/846e5a9fc6c31216d5048d9f1c496ddc.jtp,To_Do_List.jtp)' at line 1

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:353)
at com.mysql.jdbc.Util.getInstance(Util.java:336)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1031)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2938)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1601)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1710)
at com.mysql.jdbc.Connection.execSQL(Connection.java:2430)
at com.mysql.jdbc.Connection.execSQL(Connection.java:2359)
at com.mysql.jdbc.Statement.execute(Statement.java:719)

当eclipse中出现此错误时,可能是sql语句错误导致的,检查sql语句中字符串类型的变量前后时候使用了单引号

错误:

String sql="insert into uploadfile(userid,meetingid,filepath,filename) values("
+ uf.getUserId()+","+uf.getMeetingId()+","+uf.getFilePath()+","+uf.getFileName()+")";

正确:

String sql="insert into uploadfile(userid,meetingid,filepath,filename) values("
+ uf.getUserId()+","+uf.getMeetingId()+", ' "+uf.getFilePath()+" ' , ' "+uf.getFileName()+" ' )";

你可能感兴趣的:(sql语句)