Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SQL语法中有一个错误:使用near';ID=”号&引用;在1号线_Java_Mysql_Sql_Database - Fatal编程技术网

Java SQL语法中有一个错误:使用near';ID=”号&引用;在1号线

Java SQL语法中有一个错误:使用near';ID=”号&引用;在1号线,java,mysql,sql,database,Java,Mysql,Sql,Database,我一直在犯这个错误 第1行的“ID=”“ 这是我的密码: public void DeleteRecord(){ String sql="delete from issueditems where Item ID=?"; try{ pst=conn.prepareStatement(sql); pst.setString(1, jt4.getText()); pst.execute(); }catch(Exc

我一直在犯这个错误

第1行的“ID=”“

这是我的密码:

        public void DeleteRecord(){
        String sql="delete from  issueditems where Item ID=?";
    try{

      pst=conn.prepareStatement(sql);
      pst.setString(1, jt4.getText());
      pst.execute();
    }catch(Exception e){
        JOptionPane.showMessageDialog(null, e);
    }
  }
选中
jt4.getText()
null为空

检查
ID
字段数据类型是否为intvarchar


如果
ID
为int类型。尝试修改
pst.setString(1,jt4.getText())
pst.setInt(1,Integer.parseInt(jt4.getText())

我不知道您使用的是什么数据库,但我也不知道任何数据库的“条目ID”是有效的列名。该列可能命名为“ItemID”或“Item_ID”,您需要相应地更改SQL语句-或者

delete from  issueditems where ItemID=?



使用当前语句(
delete from issueditems where Item ID=?
),数据库会看到一个列名“Item”,并需要一个运算符(“=”、“‘LIKE’或类似的运算符),但会找到另一个标识符“ID”,并且不知道如何处理该标识符。

看起来代码和错误消息不匹配。请添加完整的StackTrace是否有触发器?可能是jt4.getText返回null或空stringright我确实在单击操作按钮(将其删除)后设置了jt4 setText(“”),现在我得到了新的错误:语法错误:第1行的“ID='10006272”附近似乎在“Item”和“ID”之间有一个空格字符“-您的SQL语句可能应该读为
“delete from issueditems where ItemID=?”
将其更改为varchar现在我忘记了它,现在我得到了新的错误:语法错误:near'ID='10006272“在第1行,您不应该更改数据库列类型,您应该修复代码,进行一些验证和转换,以确保您的代码始终传递给查询一个有效的、非空的数字。
delete from  issueditems where Item_ID=?