Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Oracle错误无效数字_Java_Sql_Oracle - Fatal编程技术网

Java Oracle错误无效数字

Java Oracle错误无效数字,java,sql,oracle,Java,Sql,Oracle,我有一张这样的桌子: ARITHMOS KOD DATE A B C 1 ΑΓΟ 01/08/2016 5 2 3 2 ΠΛΗ 02/08/2016 3 2 1 从netbeans程序中,我想插入name table、DATE和KOD,只获取符合条件的行 代码: 如果re==JOptionPane.YES\u选项{ 试一试{ stm=(OracleStatement) conn.createStatement(rs.TYPE_SCRO

我有一张这样的桌子:

ARITHMOS KOD DATE         A B C
1        ΑΓΟ 01/08/2016   5 2 3
2        ΠΛΗ 02/08/2016   3 2 1
从netbeans程序中,我想插入name table、DATE和KOD,只获取符合条件的行

代码:

如果re==JOptionPane.YES\u选项{ 试一试{

    stm=(OracleStatement) conn.createStatement(rs.TYPE_SCROLL_INSENSITIVE,rs.CONCUR_UPDATABLE);


    rs = (OracleResultSet) stm.executeQuery(sql);
    UpdateJTable();
  /* while(rs.next()){
        v0.setText(rs.getString("ARITHMOS"));

    }*/

}
catch(Exception e1){
    JOptionPane.showMessageDialog(null, e1);
}

    }else if (re == JOptionPane.NO_OPTION) {
        this.setVisible(true);
    }
显示无效号码时出错。

已修复:

public static ResultSet Consult(String consult){
       Connection conn = ConnectDB();//connection to database
        Statement declare;
        try{
            declare=conn.createStatement();
            ResultSet rs=declare.executeQuery(consult);
            return rs;
        }catch(Exception e){
            JOptionPane.showMessageDialog(null, e);

        }
       return null;

    }


}

Code in Button:
   String  pote=ac3.getText();//chosen table name
    String c=((JTextField)jdt1.getDateEditor().getUiComponent()).getText();//date as varchar2 set to database table
    String d=((JTextField)jdt2.getDateEditor().getUiComponent()).getText();//date as varchar2 set to database table
    String s0=(String)jcb1.getSelectedItem();//chosen item


     String sql="SELECT * FROM "+pote+"  WHERE  Hmerominia BETWEEN '"+c+"' AND '"+d+"' AND KOD='"+s0+"'";

     int re = JOptionPane.showConfirmDialog(this, "SEARCH?", "Confirm",
        JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);


    if (re == JOptionPane.YES_OPTION) {



     DefaultTableModel md=( DefaultTableModel)pel300.getModel();
 md.setRowCount(0);
 rs=(OracleResultSet) Connect.Consult(sql);//Connect class

 try{
     while(rs.next()){
     Vector v=new Vector();
     v.add(rs.getString(1));
     v.add(rs.getString(2));
     v.add(rs.getString(3));
     v.add(rs.getString(4));
     v.add(rs.getString(5));
     v.add(rs.getString(6));
     v.add(rs.getString(7));
     v.add(rs.getString(8));


     md.addRow(v);
     pel300.setModel(md);


     pel300.setShowGrid(true);


     }
 }catch(Exception e){
     JOptionPane.showMessageDialog(null, e);
 }

    }else if (re == JOptionPane.NO_OPTION) {
        this.setVisible(true);
    }

所有变量都设置为什么-sql最终是什么?表实际调用了什么?您应该使用绑定变量,但这似乎是一个次要问题。您缺少了围绕ΓΓΓΓΓΓΓΓΓΓΓΓΓΓ的单引号。您的连接sql看起来像和KOD=ΑΓΓΓΓedΑΓö。但正如前面所建议的,您应该绑定参数,而不是直接在字符串中串联值。我用了单引号,但现在说的是无效数字。您认为这是为什么?是否要尝试调试新错误?是否要以正确的方式绑定参数?
public static ResultSet Consult(String consult){
       Connection conn = ConnectDB();//connection to database
        Statement declare;
        try{
            declare=conn.createStatement();
            ResultSet rs=declare.executeQuery(consult);
            return rs;
        }catch(Exception e){
            JOptionPane.showMessageDialog(null, e);

        }
       return null;

    }


}

Code in Button:
   String  pote=ac3.getText();//chosen table name
    String c=((JTextField)jdt1.getDateEditor().getUiComponent()).getText();//date as varchar2 set to database table
    String d=((JTextField)jdt2.getDateEditor().getUiComponent()).getText();//date as varchar2 set to database table
    String s0=(String)jcb1.getSelectedItem();//chosen item


     String sql="SELECT * FROM "+pote+"  WHERE  Hmerominia BETWEEN '"+c+"' AND '"+d+"' AND KOD='"+s0+"'";

     int re = JOptionPane.showConfirmDialog(this, "SEARCH?", "Confirm",
        JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);


    if (re == JOptionPane.YES_OPTION) {



     DefaultTableModel md=( DefaultTableModel)pel300.getModel();
 md.setRowCount(0);
 rs=(OracleResultSet) Connect.Consult(sql);//Connect class

 try{
     while(rs.next()){
     Vector v=new Vector();
     v.add(rs.getString(1));
     v.add(rs.getString(2));
     v.add(rs.getString(3));
     v.add(rs.getString(4));
     v.add(rs.getString(5));
     v.add(rs.getString(6));
     v.add(rs.getString(7));
     v.add(rs.getString(8));


     md.addRow(v);
     pel300.setModel(md);


     pel300.setShowGrid(true);


     }
 }catch(Exception e){
     JOptionPane.showMessageDialog(null, e);
 }

    }else if (re == JOptionPane.NO_OPTION) {
        this.setVisible(true);
    }