程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> jdbc-將student.txt文件寫入sqlserver數據庫,學號寫不進去,後面就錯位了,求大神

jdbc-將student.txt文件寫入sqlserver數據庫,學號寫不進去,後面就錯位了,求大神

編輯:編程綜合問答
將student.txt文件寫入sqlserver數據庫,學號寫不進去,後面就錯位了,求大神

package sqlConn;
import java.io.*;
import java.sql.*;
import java.util.*;
public class Test {
public static void main(String[] args) throws Exception{
List students=new LinkedList();
FileReader fin=new FileReader("res/students.txt");
BufferedReader in=new BufferedReader(fin);
String line=in.readLine();
while(line != null)
{
line = line.trim(); //去除字符串中前後空格
if( line.length() > 0 ) //檢查是否是空行
{
Student student = new Student();
student.parseStudent(line);
students.add(student);
}
line = in.readLine();
}
in.close();
fin.close();
String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=student";
String userName="sa"; //默認用戶名
String userPwd="12345"; //密碼
Class.forName(driverName).newInstance();
Connection dbConn=DriverManager.getConnection(dbURL,userName,userPwd);
//System.out.println("連接成功!"); //如果連接成功,控制台輸出“連接成功!”
Statement stat = dbConn.createStatement();
Iterator iter = students.iterator();
while(iter.hasNext())
{
Student stu = (Student)(iter.next());
String command = "INSERT INTO stu VALUES('";
command += stu.getID()+"','";
command += stu.getName()+"','";
command += stu.getDepartment()+"')";
System.out.println(command);
stat.executeUpdate(command);
}
}
}
class Student implements Serializable
{
private String sno;
private String sn;
private String dept;
public void parseStudent(String str)
{
int tokenCount;
StringTokenizer t = new StringTokenizer(str);
tokenCount = t.countTokens();
t.nextToken(); //序號
sno = t.nextToken(); //學號
sn = t.nextToken(); //姓名
if( tokenCount > 7 )
dept = t.nextToken();
}
public String toString()
{
String s = sno + " " + sn;
for(int l = s.length();l<21; l++) s +=" "; //對齊
return s + dept;
}
public String getID(){return sno;}
public String getName(){return sn;}
public String getDepartment(){return dept;}
}

最佳回答:


你的代碼裡面t.nextToken(); //序號這個去掉。students.txt裡面只有三列,學號,姓名和課程,但是你在解析的時候卻解析成4列,所以錯了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved