【发布时间】:2015-10-17 06:20:48
【问题描述】:
我在 Netbeans 中创建了一个有 8 列的 jForm。我想在运行时插入 2 到 7 个字段的值,并且第一个字段值应该通过数据库自动递增。 我在 ms 访问中创建了一个表,其中第一个字段具有自动编号数据类型。
当我编写插入查询时,如果我取 7 个问号,并从 2 中传递值,则会显示“数据库字段值不同”的错误。 如何做到这一点,第一个字段是自动递增的,下一个字段将插入值.. 这是我的代码...
Connection myconnection= null;
String mydriver= "sun.jdbc.odbc.JdbcOdbcDriver";
if((jTextField2.getText().length()==0)||(jTextArea1.getText().length()==0)||(jRadioButton1.getText().length()==0)||(jRadioButton2.getText().length()==0)||(jFormattedTextField1.getText().length()==0)||(jTextField3.getText().length()==0)||(jComboBox1.getSelectedIndex()==0)||(jFormattedTextField3.getText().length()==0)) {
JOptionPane.showMessageDialog(rootPane, "Please fill all the details");
}
else
{
try
{
Class.forName(mydriver);
myconnection=DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq= C:\\Documents and Settings\\Administrator\\My Documents\\NetBeansProjects\\DAV REHABILITATION\\Davdb.accdb; Uid=Admin; Pwd=;");
try
{
String myquery= "insert into Patients values(?,?,?,?,?,?,?)";
PreparedStatement mystatement= myconnection.prepareStatement(myquery);
mystatement.setString(2,jTextField2.getText());
mystatement.setString(3,jTextArea1.getText());
if(jRadioButton1.isSelected()) {
mystatement.setString(4, "Male");
} else if(jRadioButton2.isSelected()) {
mystatement.setString(4, "Female");
}
mystatement.setString(5, jFormattedTextField1.getText());
mystatement.setString(6, jTextField3.getText());
mystatement.setString(7, jComboBox1.getSelectedItem().toString());
mystatement.setString(8, jFormattedTextField3.getText());
mystatement.executeUpdate();
JOptionPane.showMessageDialog(rootPane,"Data Saved");
mainform obj=new mainform();
this.setVisible(false);
obj.setVisible(true);
}
catch (Exception e)
{
JOptionPane.showMessageDialog(rootPane, "Error in Query. " + e.getMessage());
}
}
catch(Exception e)
{
JOptionPane.showMessageDialog(rootPane, " Error Occured.Connection wrong" + e.getMessage());
}
}
}
【问题讨论】:
-
你想只插入2个值吗?
-
指定要插入的字段名:
insert into Patients(field2,field3,...