Я использую этот код, когда я нажимаю кнопку, он должен вставить значения в базу данных
code else if(a.getSource()==New){
try{
if(Cpphone.getText().equals("")||Dnname.getText().equals("")||array.equals("")|| totalcost==0)
{
JOptionPane.showMessageDialog(this,
"Please insert all information before submitting.", "", JOptionPane.INFORMATION_MESSAGE);
}
else{
Connection mycon= DriverManager.getConnection("jdbc:mysql://localhost:3306/projectofpharmacy","root","sherouk");
Statement mystat=mycon.createStatement();
mystat.executeUpdate("insert into pharmacy_orders (patintphone,doctorName,OrderdateTime,totalCost) values ('"+Cpphone.getText()+"','"+Dnname.getText()+"',now(),'"+totalcost+"'");
JOptionPane.showMessageDialog(this,
"the process is done successfuly.", "", JOptionPane.INFORMATION_MESSAGE);
array=null;
totalcost=0;
}
}
catch(Exception e){
System.out.println(e);
JOptionPane.showMessageDialog(this,
e.toString(), "", JOptionPane.INFORMATION_MESSAGE);
}
}
Я получаю эту ошибку (java.sql.SQLSyntaxErrorException: у вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, для правильного синтаксиса для использования рядом с '' в строке 1)
Я думаю, что проблема в методе now(). Попробуйте что-то вроде:
private static java.sql.Date getCurrentDate() {
java.util.Date today = new java.util.Date();
return new java.sql.Date(today.getTime());
}
String insertTableSQL = "INSERT INTO DBUSER"
+ "(USER_ID, USERNAME, CREATED_BY, CREATED_DATE) VALUES"
+ "(?,?,?,?)";
preparedStatement = dbConnection.prepareStatement(insertTableSQL);
preparedStatement.setDate(4, getCurrentDate());