【发布时间】:2016-07-27 12:09:05
【问题描述】:
当我点击按钮时,表中的所有记录都会显示在表中。我在我的 sql 查询中使用了 like 和 equal 运算符,它确实在第二次第一次将所有数据检索到表中时起作用?谁能告诉我代码有什么问题?
try{
String url="jdbc:sqlserver://localhost:1433;databaseName=gym2 ";
String username = "mali";
String password = "12345";
Connection con =DriverManager.getConnection(url,username,password);
Statement st = con.createStatement ();
ResultSet rs;
String empid =jLabel3.getText()+jTextField1.getText();
String name = jTextField2.getText();
// String d =jComboBox1.getSelectedItem().toString();
String sql = "SELECT emp_id,firstname,designation,full_address,gender,land,monthly_sal FROM employee_reg where (emp_id = '"+empid+"' or firstname LIKE '"+name+"%')";
rs= st.executeQuery(sql);
jTable1.setModel(DbUtils.resultSetToTableModel(rs));
}
catch(Exception e){
}
}
【问题讨论】:
-
永远不要这样做:
catch(Exception e){ }。至少打印堆栈跟踪,你会看到发生了什么 -
了解准备好的语句
-
你的问题不清楚
-
请编辑您的问题,并明确您想要什么。也许您可以向我们展示表结构和一些示例条目。
-
打印您正在创建的查询。 System.out.println(sql);第一次查询可能有机会,firstName 为空。例如您的查询可能看起来像 SELECT emp_id,firstname,designation,full_address,gender,land,monthly_sal FROM employee_reg where (emp_id = '2' or firstname LIKE '%'); LIKE '%' 将获取所有记录。
标签: java sql database sql-like