Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.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.lang.NumberFormatException:ForInputString;7110332507339“;java.sql.SQLException:索引::4处缺少IN或OUT参数_Java_Database_Oracle_Netbeans - Fatal编程技术网

java.lang.NumberFormatException:ForInputString;7110332507339“;java.sql.SQLException:索引::4处缺少IN或OUT参数

java.lang.NumberFormatException:ForInputString;7110332507339“;java.sql.SQLException:索引::4处缺少IN或OUT参数,java,database,oracle,netbeans,Java,Database,Oracle,Netbeans,我得到以下例外情况 1) java.lang.NumberFormatException:ForInputString“7110332507339” 2) java.sql.SQLException:索引::4处缺少IN或OUT参数 即使我在输入时也给出了正确的数据。我已经搜索了很多来解决这个问题,但是仍然得到了一个例外。这是我的代码。带有数据类型的数据库列也附在pic中 有人能给我一个解决方案吗?谢谢 try{ Class.forName("oracle.jdbc.Oracl

我得到以下例外情况

1) java.lang.NumberFormatException:ForInputString“7110332507339”

2) java.sql.SQLException:索引::4处缺少IN或OUT参数

即使我在输入时也给出了正确的数据。我已经搜索了很多来解决这个问题,但是仍然得到了一个例外。这是我的代码。带有数据类型的数据库列也附在pic中 有人能给我一个解决方案吗?谢谢

 try{
        Class.forName("oracle.jdbc.OracleDriver");
         try (Connection conn = 
  DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:XE","hr","123"))
{ 
String qry1 = "insert into storeStaff 
values(?,?,?,?,?,?,?,?,?)";

try {
    pstmnt=conn.prepareStatement(qry1);

    String EID=employeID.getText();
    pstmnt.setString(1,EID);

    String ename=name.getText();
    pstmnt.setString(2,ename);

    String efname=fatherName.getText();
    pstmnt.setString(3,efname);


       try{ String emcnic=cnic.getText();
    int ecnic=Integer.parseInt(emcnic);
    pstmnt.setInt(4,ecnic);}catch(Exception q)
{JOptionPane.showMessageDialog(null,q);}

    String edob=dob.getText();
    pstmnt.setString(5,edob);

    String adress=address.getText();
    pstmnt.setString(6,adress);

    username.setText(EID);
    pstmnt.setString(7,EID);

    String pwd=password.getText();
    pstmnt.setString(8,pwd);


    String post=facultyChoice.getItem(facultyChoice.getSelectedIndex());
    pstmnt.setString(9,post);

    pstmnt.executeQuery();
if(EID!= null && ename!=null
    && efname!=null &&edob!=null && adress!=null  && post!=null ){
JOptionPane.showMessageDialog(null, "Added");
}
} catch (SQLException eex) 
{JOptionPane.showMessageDialog(null,"Error"+eex);}}
} catch (SQLException exx) 
{JOptionPane.showMessageDialog(null,"Error"+exx);} catch 
(ClassNotFoundException ex) {
JOptionPane.showMessageDialog(null,"Error"+ex);
}}
改变这个

 try{ String emcnic=cnic.getText();
    int ecnic=Integer.parseInt(emcnic);
    pstmnt.setInt(4,ecnic);}catch(Exception q)
{JOptionPane.showMessageDialog(null,q);}
对此

try{ String emcnic=cnic.getText();
    long ecnic=Long.parseLong(emcnic);
    pstmnt.setLong(4,ecnic);}catch(Exception q)
{JOptionPane.showMessageDialog(null,q);}
改变这个

 try{ String emcnic=cnic.getText();
    int ecnic=Integer.parseInt(emcnic);
    pstmnt.setInt(4,ecnic);}catch(Exception q)
{JOptionPane.showMessageDialog(null,q);}
对此

try{ String emcnic=cnic.getText();
    long ecnic=Long.parseLong(emcnic);
    pstmnt.setLong(4,ecnic);}catch(Exception q)
{JOptionPane.showMessageDialog(null,q);}

java.lang.NumberFormatException:ForInputString“7110332507339”:这是因为您的输入值超出范围。由于您使用的是Integer,它的最大值应该是2147483648。要解决这个问题,可以使用Long和BigInteger作为数据类型

java.sql.SQLException:索引::4处缺少IN或OUT参数:这是因为您正在将字符串插入日期类型的列中

 String edob=dob.getText();
    pstmnt.setString(5,edob);

java.lang.NumberFormatException:ForInputString“7110332507339”:这是因为您的输入值超出范围。由于您使用的是Integer,它的最大值应该是2147483648。要解决这个问题,可以使用Long和BigInteger作为数据类型

java.sql.SQLException:索引::4处缺少IN或OUT参数:这是因为您正在将字符串插入日期类型的列中

 String edob=dob.getText();
    pstmnt.setString(5,edob);

你能在你的问题中添加数据类型的数据库列吗?在编辑问题@sforsujitThank后添加到图片中。谢谢,我将研究它
7110332507339
-这个值对于int数据类型来说太高了。限制为
2147483648
。您必须使用biginger或Long数据类型而不是int。在这里引发异常
int ecnic=Integer.parseInt(emcnic)谢谢。我不知道整数的确切限制。。。现在我已经解决了这个问题。t是否可以在问题中添加带有数据类型的数据库列?在编辑问题@sforsujitThank后添加到图片中。谢谢,我将研究它
7110332507339
-此值对于int数据类型太高。限制为
2147483648
。您必须使用biginger或Long数据类型而不是int。在这里引发异常
int ecnic=Integer.parseInt(emcnic)谢谢。我不知道整数的确切限制。。。现在我已经解决了这个问题。t第二个异常是由于外部捕获导致的。它指向cnic的索引4,当您告知int的大小小于我的输入值时,引发异常。不是因为日期。感谢您的帮助。@JAMSHAIDIQBAL感谢您的澄清第二个异常是由于外部捕获。它指向cnic的索引4,当您告诉我int的大小小于我的输入值时,抛出异常。不是因为日期。谢谢你的帮助。@JAMSHAIDIQBAL谢谢你的澄清