数据库错误。sql。SQLEception:参数索引超出范围(1>参数数,为0)
我是编程新手,不知道如何修复这个错误:java。sql。SQLEception:参数索引超出范围(1>;参数数,即0)。第一个JFrame运行时,我收到一条消息,它已连接到数据库,但随后弹出错误,没有任何内容保存到我的数据库中。 这是我的密码:
import java.sql.*;
import javax.swing.*;
public class SaveData extends javax.swing.JFrame {
Connection conn=null;
PreparedStatement pst=null;
ResultSet rs=null;
public SaveData() {
initComponents();
}
private void btnSaveActionPerformed(java.awt.event.ActionEvent evt) {
conn=MySQLConnect.ConnectDB();
String Sql="Select * from TripData";
try{
pst=conn.prepareStatement(Sql);
pst.setString(1, txtTripDate.getText());
pst.setString(2, txtStartDest.getText());
pst.setString(3, txtEndDest.getText());
pst.setString(4, txtMileage.getText());
pst.setString(5, txtCost.getText());
if(rs.next()){
JOptionPane.showMessageDialog(null, "Trip Saved");
InfoSaved s=new InfoSaved();
s.setVisible(true);
}
else{
JOptionPane.showMessageDialog(null, "Invalid Information",
"Please enter again", JOptionPane.ERROR_MESSAGE);
}
}catch(Exception e){
JOptionPane.showMessageDialog(null, e); }
}
# 1 楼答案
SQL字符串必须包含-要设置的每个参数的占位符
# 2 楼答案
我认为你想做这样的事情[如果pst是一种声明,那么它是有效的]:
编辑: [pst代码作为准备的报表]
您必须更改查询,不能通过SELECT order插入(如果您希望这样做)
对不起,我弄错了