Java 使用两个类似的';它的名字不同?
我试图在我的程序中的JTable中创建一个搜索函数,但是当我使用这种语法时,我得到了sql语法错误。我已经读了很多关于这个问题的问答,但我从来没有得到正确的语法。希望你能帮助我Java 使用两个类似的';它的名字不同?,java,mysql,swing,Java,Mysql,Swing,我试图在我的程序中的JTable中创建一个搜索函数,但是当我使用这种语法时,我得到了sql语法错误。我已经读了很多关于这个问题的问答,但我从来没有得到正确的语法。希望你能帮助我 private void fillTable(String keyword) throws SQLException{ if (!keyword.equals("")){ try( Connection con = DriverManager.getConnection
private void fillTable(String keyword) throws SQLException{
if (!keyword.equals("")){
try( Connection con = DriverManager.getConnection
("jdbc:mysql://localhost:3306/inventory?zero"
+ "DateTimeBehavior=convertToNull","root","");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM basis"
+ "WHERE barcode LIKE '%"+keyword+"%' or "
+ "namaProduk LIKE '% "+keyword+" %'");
){
jTable1.setModel(buildTableModel(rs));
}
}
else fillTable();
}
basis
和WHERE
之间缺少1个空格(语法错误的原因)
%
和关键字之间有1个不需要的空格(使查询不相关)
basis
和WHERE
之间缺少1个空格(语法错误的原因)
%
和关键字之间有1个不需要的空格(使查询不相关)
我在这里看到的是,表名“basis”后面缺少一个空格。通常,您应该通过现有的DB客户机手动测试SQL语句,然后将它们复制到代码中
如果您愿意使用可以减轻痛苦的工具,请尝试。我在这里看到的是,表名“basis”后面缺少一个空格。通常,您应该通过现有的DB客户机手动测试SQL语句,然后将它们复制到代码中 如果你愿意使用能减轻痛苦的工具,试试看
private void fillTable(String keyword) throws SQLException{
if (!keyword.equals("")){
try( Connection con = DriverManager.getConnection
("jdbc:mysql://localhost:3306/inventory?zero"
+ "DateTimeBehavior=convertToNull","root","");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM basis "
+ "WHERE barcode LIKE '%"+keyword+"%' or "
+ "namaProduk LIKE '%"+keyword+" %'");
){
jTable1.setModel(buildTableModel(rs));
}
}
else fillTable();
}