寻求大腿帮助: You have an error in your SQL syntax; check the manual that corresp

水星3号 2016-12-22 10:25:01
控制台报错:
连接数据库。。。
实例化Statement对...
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 '<id,vx,vy,vz,sx,sy,sz,instime.trl>) values ('1.0,0.004184833333333334,-0.0226754' at line 1
at sun.reflect.GeneratedConstructorAccessor8.newInstance(Unknown Source)
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:404)
at com.mysql.jdbc.Util.getInstance(Util.java:387)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:942)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3966)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3902)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2526)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2673)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2545)
at com.mysql.jdbc.StatementImpl.executeUpdateInternal(StatementImpl.java:1540)
at com.mysql.jdbc.StatementImpl.executeLargeUpdate(StatementImpl.java:2595)
at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1468)
at com.tong.pj1.prog1.Insert(prog1.java:290)

代码:
private static void Insert(double[][] fd,int num) {
// TODO Auto-generated method stub
Connection conn = null;
Statement stmt = null;
int i=num;
try{
//注册JDBC驱动
Class.forName("com.mysql.jdbc.Driver");

//打开链接
System.out.println("连接数据库。。。");
conn = DriverManager.getConnection(DB_URL,USER,PASS);
conn.setAutoCommit(false);
//执行查询
System.out.println("实例化Statement对...");
stmt = conn.createStatement();
String sql;

sql = "insert into sensorn1 (<id,vx,vy,vz,sx,sy,sz,instime.trl>) values ('"+fd[i][0]+"," //插入id
+fd[i][1]+"," //插入vx
+fd[i][2]+"," //插入vy
+fd[i][3]+"," //插入vz
+fd[i][4]+"," //插入sx
+fd[i][5]+"," //插入sy
+fd[i][6]+"," //插入sz
+fd[i][7]+"," //插入instime
+fd[i][8]+"')"; //插入trl

stmt.executeUpdate(sql);

conn.commit();



}catch(SQLException se){
se.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}finally{
try{
if(stmt!=null) stmt.close();
}catch(SQLException se2){

}
try{
if(conn!=null) conn.close();
}catch(SQLException se){
se.printStackTrace();
}
}


}
...全文
482 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
阳光越来越暖 2016-12-22
  • 打赏
  • 举报
回复
建议使用占位符
爱睡觉的阿狸 2016-12-22
  • 打赏
  • 举报
回复
字符串没有加单引号,所以报错
bcsflilong 2016-12-22
  • 打赏
  • 举报
回复
<id,vx,vy,vz,sx,sy,sz,instime.trl> 这时什么鬼?
sql = "insert into sensorn1 (id,vx,vy,vz,sx,sy,sz,instime.trl) values ('"+fd[i][0]+"," //插入id
+fd[i][1]+"," //插入vx
+fd[i][2]+"," //插入vy
+fd[i][3]+"," //插入vz
+fd[i][4]+"," //插入sx
+fd[i][5]+"," //插入sy
+fd[i][6]+"," //插入sz
+fd[i][7]+"," //插入instime
+fd[i][8]+"')"; //插入trl
阳光越来越暖 2016-12-22
  • 打赏
  • 举报
回复
sql语句错了 你把sql 语句拿出来到数据库执行 下 有错修改下
gzcitizeny 2016-12-22
  • 打赏
  • 举报
回复
sql = "insert into sensorn1 (id,vx,vy,vz,sx,sy,sz,instime.trl) values ('" + fd[i][0] + "','" + fd[i][1] "','" 
gzcitizeny 2016-12-22
  • 打赏
  • 举报
回复
sql语法错误。 如果fd[i][0],fd[i][1]是字符串,每个值的两边都要加单引号。 如:
values ('" + fd[i][0] + "’,‘" + fd[i][1] + “'”)
  • 打赏
  • 举报
回复
去掉尖括号。

58,452

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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