- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这段代码:
String check="SELECT COUNT(*) as check FROM recordstudent WHERE STUDENT_ID="+T_STUDENT_ID+" AND COURSE_ID="+T_COURSE_ID+" AND PACKAGE_ID="+T_PACKAGE_ID+" AND ACTIVITY_ID="+T_ACTIVITY_ID+" AND DATE="+T_DATE+ ";";
rs=myStmt.executeQuery(check);
int ch=0;
while(rs.next()){
ch=Integer.parseInt(rs.getString("check"));
}
if(ch==0)
{
String insertRecord="insert into recordstudent"+
"(STUDENT_ID,COURSE_ID,PACKAGE_ID,ACTIVITY_ID,TEST_NAME,DATE,SCORE,TOTAL_MARKS,PERCENTAGE,CORRECT_ANSWER,TOTAL_QUESTIONS,STUDENT_NAME,SCORE_PER_DIVISION,ATTEMPTS)"+
"VALUES("+
"'"+T_STUDENT_ID+"',"+
"'"+T_COURSE_ID+"',"+
"'"+T_PACKAGE_ID+"',"+
"'"+T_ACTIVITY_ID+"',"+
"'"+T_TEST_NAME+"',"+
"'"+T_DATE+"',"+
"'"+T_SCORE+"',"+
"'"+T_TOTAL_MARKS+"',"+
"'"+T_PERCENTAGE+"',"+
"'"+T_CORRECT_ANSWERS+"',"+
"'"+T_TOTAL_QUESTIONS+"',"+
"'"+T_STUDENT_NAME+"',"+
"'"+T_SCORE_PER_DIVISION+"',"+
"'"+t+"'"
+");";
myStmt.execute(insertRecord);
}
此代码段应仅在 ch=0 时才将数据插入数据库。但我收到此错误:
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
'check FROM recordstudent WHERE STUDENT_ID=11 AND COURSE_ID=2 AND PACKAGE_ID=11 A'
at line 1
谁能帮我解决我的问题?
最佳答案
从根本上说:不要以这种方式构建 SQL。我注意到您在“插入”SQL 语句中的值周围加上了引号——但在“选择”语句中没有。这就是问题的开始 - 但你不应该在你的 SQL 中包含像这样的值。您应该通过 PreparedStatement
使用参数化 SQL,并为参数设置值。好处:
您的 SQL 中还有其他问题(例如空格和 check
在 MySQL 中是 reserved word),但首先要解决的问题 你应该解决的是你如何使用值(value)观。在您这样做之前,您的代码会引发安全问题。
(然后您应该开始使用比 T_STUDENT_NAME
等更传统的变量名称,但那是另一回事。)
关于java - 获取 MySQLSyntaxErrorException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9867597/
我有一个像下面这样的代码。我已经尝试了堆栈中的其他解决方案,但似乎没有任何效果。生成错误的 Java 代码如下所示。 public Connection getConnection() {
我有这段代码: String check="SELECT COUNT(*) as check FROM recordstudent WHERE STUDENT_ID="+T_STUDENT_I
在我的项目中,我编写了一些代码来从数据库表中搜索员工姓名并将其加载到 jcombobox 中。 表名:employee 列名:empid(Primarykey), emp_name, position
我有一个奇怪的问题。当我在以下代码段中执行查询时,它会抛出 MySQLSyntaxErrorException 并显示以下消息: You have an error in your SQL synta
我在这里看到了很多关于我的问题的答案,但找不到解决方案。我正在读取 Excel 文件并存储在 mysql 数据库中。这是我的代码 PreparedStatement sql_statement = (
我正在尝试更新我的 jtable(更改值并按 Enter 键),但出现错误。由于大小原因,错误未完整。我认为其余部分只是 c3p0 池连接工具生成的不相关信息。 假设 起初,我认为这可能是 c3p0
我在 spring 框架的 mapper.xml 中遇到一些问题 失败: check the manual that corresponds to your MySQL server version
这个问题已经有答案了: mysql prepared statement error: MySQLSyntaxErrorException (2 个回答) 已关闭 8 年前。 我花了几个小时研究看起来
我试图从 java 桌面程序在 mysql 中创建一个表,但我收到了 MySqlSyntaxErrorException。 查询是: CREATE TABLE FileXFascia(fila0 In
这是错误: run: Mon Mar 25 05:22:00 SGT 2019 WARN: Establishing SSL connection without server's identity
我使用准备语句编写了 select 语句。每次尝试运行它都会出现此错误。我是怎么克服这个错误的?我的 jdbc 连接器是 mysql-connector-java-5.1.13-bin.jar。我的代
session.getAttribute('loginId')//giving 1 ResultSet rs=st.executeQuery("select * from interest where
String sql = "INSERT INTO order " + "(customerid, pant, shirt, date) " + "VALUES ('" + jTextField
我正在使用 Java 将一些数据插入到 mysql 中。但是将撇号(标点符号)放入数据中(附近的每周跟踪器表明工作增长)它给了我 MySQLSyntaxErrorException。请给我适当的解决方
我对使用 Java 的 MySQL 还很陌生,但是我已经执行了一些成功的 INSERT 查询,但是似乎无法在没有 MySQLSyntaxErrorException 异常的情况下执行 CREATE T
我目前正在使用 hibernate 构建一个基于网络的小工具。我使用 Tomcat v7.0 服务器在 eclipse 中测试该站点。我的数据库在 Linux 上使用 MySQL 5.6 版。 现在,
我看过几个相关的问题及其答案,但这对我的案子没有帮助。 我有一个 Spring boot 应用程序,我在其中使用 Jhipster 创建了实体,另外我自己添加了一些手动变更日志变更集。 我有一个医生实
当我执行以下查询时抛出以下异常 Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an er
我的目标是向我创建的现有表中添加一个新行。但是,我收到以下错误。 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have
我有以下 Java 代码: String query = "Select 1 from myTable where name = ? and age = ?"; PreparedStatement s
我是一名优秀的程序员,十分优秀!