我使用下面的代碼:無法通過java寫在SQL數據庫中的數據,但成功讀取
JButton btnEdit = new JButton("Edit");
btnEdit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
try{
String query = "Insert Into check(Name, Password)Values(?,?)";
PreparedStatement pst = con.prepareStatement(query);
pst.setString(1, textField.getText());
pst.setString(2, textField_1.getText());
/* pst.setString(3, textField_2.getText());
pst.setString(4, textField_4.getText());
pst.setString(5, textField_5.getText());
*/
pst.execute();
JOptionPane.showMessageDialog(null, "Data Saved");
pst.close();
}catch(Exception e){
e.printStackTrace();
}
}
});
我從SQL數據庫檢索數據,但每當我嘗試插入數據,我在運行時出現錯誤:
值java.sql.SQLException:[微軟] [ODBC SQL Server驅動程序] [SQL 服務器]不正確的語法關鍵字附近的 '檢查'。在 sun.jdbc.odbc.JdbcOdbc.createSQLException(未知來源)處 sun.jdbc.odbc.JdbcOdbc.SQLExecute(未知來源) sun.jdbc.odbc.JdbcOdbc.standardError(未知來源)在 sun.jdbc .odbc.JdbcOdbcPreparedStatement.execute(Unknown Source)at AdminPanel $ 2.actionPerformed(AdminPanel.java:184)at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)at javax.swing.AbstractButton $ Handler.actionPerformed(Unknown Source )在 javax.swing.DefaultButtonModel.fireActionPerformed(未知來源)在 javax.swing.DefaultButtonModel.setPressed(未知來源)處的java.awt javax.swing.plaf.basic.BasicButtonListener.mouseReleased(未知 源) .Component.processMouseEvent(Unknown Source)at javax.swing.JComponent.processMouseEvent(Unknown Source)at java.awt.Component.processEvent(Unknown Source)at java.awt.Container.processEvent(Unknown Source)at java .awt.Component.dispatchEventImpl(Unknown Source)at java.awt.Container.dispatchEventImpl(Unknown Source)at java.awt.Component.dispatchEvent(Unknown Source)at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)at java.awt.Container.dispatchEventImpl(Unknown Source)at java.awt.Window .dispatchEventImpl(來源不明)處 java.awt.EventQueue.dispatchEventImpl(來源不明) java.awt.Component.dispatchEvent(來源不明)處 的Java java.awt.EventQueue.access $ 300(來源不明)。 awt.EventQueue $ 3.run(來源不明)處 java.security.AccessController.doPrivileged(本機方法)在 java.security.ProtectionDomain $ 1.doIntersectionPrivilege java.awt.EventQueue中的$ 3.run(來源不明)(未知 源)在 java.security.ProtectionDomain $ 1.doIntersectionPrivilege(Unknown Source)at java.awt.EventQueue $ 4.run(Unknown Source)at java.awt.EventQueue $ 4.run(Unknown Source)at java.security。訪問在 java.security.ProtectionDomain $ 1.doIntersectionPrivilege(未知 來源)在java.awt.EventQueue.dispatchEvent(來源不明)Controller.doPrivileged(本機方法)在 java.awt.EventDispatchThread.pumpOneEventForFilters(來源不明) 是java .awt.EventDispatchThread.pumpEventsForFilter(未知來源) 在java.awt.EventDispatchThread.pumpEventsForHierarchy(未知 源)在java.awt.EventDispatchThread.pumpEvents(未知來源) 在java.awt.EventDispatchThread.pumpEvents(未知來源)在 java.awt.EventDispatchThread.run(Unknown Source)
嘗試在'values'之前添加空格 –
嘗試在sql語句的末尾添加分號。 String query =「Insert into check(Name,Password)Values(?,?);」; –
仍然收到相同的錯誤日誌。嘗試了你的兩個建議bro –