我正在尝试从 txt 文件中获取一些记录并将其放入以下 Java 程序的数据库中
package Java_Demo;
import java.sql.*;
import java.util.*;
import java.io.*;
public class Jdbc_Demo {
public static void main(String ...args)throws ClassNotFoundException,SQLException,FileNotFoundException {
FileInputStream fin=new FileInputStream("C:/Users/steve-pc/Desktop/Employees.txt");
Scanner s=new Scanner(fin);
s.useDelimiter(",|\\n");
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@172.22.22.131:1521:orcl","Demo","demo");
while(s.hasNext())
{
PreparedStatement st=con.prepareStatement("Insert into Employee values(?,?,?)");
String name=s.next();
int id=s.nextInt();
int sal=s.nextInt();
st.setString(1,name);
st.setInt(2,id);
st.setInt(3,sal);
int result=st.executeUpdate();
System.out.println("Records Changed: "+ result);
}
con.close();
}
}
我从中获取数据的 txt 文件具有以下格式
史蒂夫,12349,550000
马克,54321,250000
账单,65478,350000
此外,EMPLOYEE 表具有以下格式
姓名 身份证 工资
Varachar2 数字 数字
但代码生成以下错误
线程“main”中的异常 java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:909)
at java.util.Scanner.next(Scanner.java:1530)
at java.util.Scanner.nextInt(Scanner.java:2160)
at java.util.Scanner.nextInt(Scanner.java:2119)
at Java_Demo.Jdbc_Demo.main(Jdbc_Demo.java:24)
进行如下更改:
public class ScannerTest {
public static void main(String ...args)throws ClassNotFoundException,SQLException,FileNotFoundException {
File f =new File("/home/rahul/Desktop/emp.txt");
Scanner s=new Scanner(f);
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@172.22.22.131:1521:orcl","Demo","demo");
while(s.hasNext())
{
PreparedStatement st=con.prepareStatement("Insert into Employee values(?,?,?)");
String rcd = s.next();
Scanner s1 = new Scanner(rcd);
s1.useDelimiter(",|\\n");
String name=s1.next();
int id=s1.nextInt();
int sal=s1.nextInt();
st.setString(1,name);
st.setInt(2,id);
st.setInt(3,sal);
int result=st.executeUpdate();
System.out.println("Records Changed: "+ result);
}
con.close();
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)