Mysql 从数据库检索值时,我可以在datepicker中使用((TextField)selecteDOP.getEditor()).getText()吗
我试图从数据库中检索用户从datepicker选择的特定日期的数据,但我的代码不起作用。您能建议我如何克服它吗数据库中的值是如何存储的?这个栏目是什么类型的?使用Mysql 从数据库检索值时,我可以在datepicker中使用((TextField)selecteDOP.getEditor()).getText()吗,mysql,sql,database,javafx,Mysql,Sql,Database,Javafx,我试图从数据库中检索用户从datepicker选择的特定日期的数据,但我的代码不起作用。您能建议我如何克服它吗数据库中的值是如何存储的?这个栏目是什么类型的?使用PreparedStatement并通过该对象设置值可能更简单。在处理事件的方法中检索值也有什么问题selecteDOP在初始化器中很可能是null,在初始化器中,您尝试检索值,即使表达式可以在没有NullPointerException的情况下计算,该值只是初始值,而不是基于用户交互的值集……我使用((TextField)select
PreparedStatement
并通过该对象设置值可能更简单。在处理事件的方法中检索值也有什么问题selecteDOP
在初始化器中很可能是null
,在初始化器中,您尝试检索值,即使表达式可以在没有NullPointerException的情况下计算,该值只是初始值,而不是基于用户交互的值集……我使用((TextField)selecteDOP.getEditor()存储日期.getText()在我的数据库中作为文本。我不建议这样做。这使得基于日期编写条件变得更加困难,更糟糕的是,用于日期选择器的格式化程序取决于区域设置。在德国和美国不会得到相同的结果。使用会更好,并且使用PreparedStatement ps
无论语言环境如何,使用日期都将是ps.setDate(index,date.valueOf(selecteDOP.getValue())
。
public DatePicker selecteDOP;
public Label label;
String dop = ((TextField)selecteDOP.getEditor()).getText();
String msg1 ="";
@FXML
public void purchases(ActionEvent event){
msg1 = "First name Last name Username Description Code Size Cost Quantity Date of purchase\n";
try{
String qr = "SELECT j_fname,j_lname,username,description,code,size,cost,quantity,dop FROM jeff INNER JOIN purchase ON jeff.j_mail = purchase.username where dop='"+dop+"'";
rs = st.executeQuery(qr);
while (rs.next()){
msg1 += rs.getString("j_fname")+" "+rs.getString("j_lname")+" "+rs.getString("username")+" "+rs.getString("description")+" "+rs.getString("code")+" "+rs.getString("size")+" "+rs.getString("cost")+" "+rs.getString("quantity")+" "+rs.getString("dop")+"\n";
}
label.setText(msg1);
}catch (Exception e){
System.out.println(e);
}
}