java - 将数据从 excel 移动到 access 时出错
问题描述
我正在尝试将数据从 excel 文件复制到访问文件,并且我正在执行一些查询,删除一个表然后创建它然后插入数据,知道我的表包含一些空格“列表 A”,查询显示一个在表名周围放置一些括号时出错。
public static Vector writetableA(String fileName) {
Vector cellVectorHolder = new Vector();
try {
FileInputStream myInput = new FileInputStream(new File(fileName));
// POIFSFileSystem myFileSystem = new POIFSFileSystem(myInput);
XSSFWorkbook myWorkBook = new XSSFWorkbook(myInput);
XSSFSheet mySheet = myWorkBook.getSheetAt(0);
Iterator rowIter = mySheet.rowIterator();
while (rowIter.hasNext()) {
XSSFRow myRow = (XSSFRow) rowIter.next();
Iterator cellIter = myRow.cellIterator();
// Vector cellStoreVector=new Vector();
List list = new ArrayList();
while (cellIter.hasNext()) {
XSSFCell myCell = (XSSFCell) cellIter.next();
list.add(myCell);
}
Connection conn = DriverManager.getConnection(
"jdbc:ucanaccess://C:/Users/gfas1/Desktop/DHL Addendum_Oct 8 - final/Updated DHL.accdb");
Statement stmt = conn.createStatement();
stmt.executeQuery("DROP TABLE [list A]");
stmt.executeQuery(
"CREATE TABLE [list A] (ID VARCHAR(255),First VARCHAR(255),Name VARCHAR(255),Last Name VARCHAR(255),EmailAddress VARCHAR(255),Tuition Paid VARCHAR(255),Gender VARCHAR(255),Nation of Birth VARCHAR(255),Nation of Ctizen VARCHAR(255),AGE VARCHAR(255),Level VARCHAR(255),Major VARCHAR(255),Concentration VARCHAR(255), Minor VARCHAR(255), Double Major/Dual Degree VARCHAR(255) ,Class VARCHAR(255),Admit Term VARCHAR(255), Catalog term VARCHAR(255), Advisor Term VARCHAR(255),GPA VARCHAR(255),Term Attempt Hrs VARCHAR(255), Term passed Hrs VARCHAR(255), Term Earned Hrs VARCHAR(255),Overall GPA VARCHAR(255),Overall Attemp Hrs VARCHAR(255), Overall Earned Hrs VARCHAR(255),Overall GPA Hours VARCHAR(255),Repeated Overall VARCHAR(255), Repeated Term VARCHAR(255), Withdrawn Overall VARCHAR(255), Withdrawn Term VARCHAR(255), Acad VARCHAR(255), Standing VARCHAR(255),Full/Part VARCHAR(255),SAT_Verbal VARCHAR(255),SAT_MATH VARCHAR(255)");
stmt.executeQuery(
"INSERT INTO [list A] (ID,First,Name,Last Name,EmailAddress,Tuition Paid,Gender,Nation of Birth,Nation of Ctizen,AGE,Level,Major,Concentration, Minor, "
+ "Double Major/Dual Degree ,Class ,Admit Term, Catalog term, "
+ "Advisor Term ,GPA ,Term Attempt Hrs, Term passed Hrs, "
+ "Term Earned Hrs ,Overall GPA ,Overall Attemp Hrs, Overall "
+ "Earned Hrs ,Overall GPA Hours ,Repeated Overall, Repeated Term,"
+ " Withdrawn Overall, Withdrawn Term, Acad, Standing ,Full/Part ,SAT_Verbal,"
+ " SAT_MATH) VALUES('" + list.get(0) + "','" + list.get(1) + "','" + list.get(2)
+ "','" + list.get(3) + "','" + list.get(4) + "','" + list.get(5) + "','" + list.get(6)
+ "','" + list.get(7) + "','" + list.get(8) + "','" + list.get(9) + "','" + list.get(10)
+ "','" + list.get(11) + "','" + list.get(12) + "','" + list.get(13) + "','"
+ list.get(14) + "','" + list.get(15) + "','" + list.get(16) + "','" + list.get(17)
+ "','" + list.get(18) + "','" + list.get(19) + "','" + list.get(20) + "','"
+ list.get(21) + "','" + list.get(22) + "','" + list.get(23) + "','" + list.get(24)
+ "','" + list.get(25) + "','" + list.get(26) + "','" + list.get(27) + "','"
+ list.get(28) + "','" + list.get(29) + "','" + list.get(31) + "','" + list.get(32)
+ "','" + list.get(33) + "','" + list.get(34) + "'");
}
}
catch (Exception e) {
e.printStackTrace();
}
return cellVectorHolder;
}
收到错误:
net.ucanaccess.jdbc.UcanaccessSQLException:UCAExc:::4.0.4 意外令牌:[在 net.ucanaccess.jdbc.UcanaccessStatement.executeQuery(UcanaccessStatement.java:218) 在 main.writetableA(main.java:492) 在 main。 main(main.java:465) 原因:java.sql.SQLSyntaxErrorException:意外令牌:[ at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source) at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source) at org.hsqldb.jdbc.JDBCStatement.fetchResult(Unknown Source) at org.hsqldb.jdbc.JDBCStatement.executeQuery(Unknown Source) at net.ucanaccess.jdbc.UcanaccessStatement.executeQuery(UcanaccessStatement.java:216) ... 2 更多作者:org.hsqldb.HsqlException:意外令牌:[在 org.hsqldb.ParserBase.unexpectedToken(Unknown Source) 在 org.hsqldb.error.Error.parseError(Unknown Source) at org.hsqldb.ParserBase.checkIsIdentifier(Unknown Source) at org.hsqldb.ParserDDL.compileDrop(Unknown Source) at org.hsqldb.ParserCommand.compilePart(Unknown Source) at org.hsqldb.ParserCommand.compileStatements(Unknown Source) at org.hsqldb。 org.hsqldb.Session.execute(Unknown Source) 上的 Session.executeDirectStatement(Unknown Source) ... 还有 5 个
解决方案
推荐阅读
- javascript - 在 JavaScript 中使用 reduce() 对数组的负数求和
- python - 我怎样才能在一个班轮代码中实现期望输出?
- amazon-web-services - AWS CloudFormation:无法创建分配了 VPC 的 RDS 资源
- python - 我的 django rest api 出现无属性错误
- angular - RxJs - 从可观察(过滤数组)中获取特定值的简单方法
- python - 使用 pip 在 Windows 10 上安装 cupy 时出现问题
- java - 使用 @RefreshScope 刷新配置属性的线程安全
- java - 有什么办法可以改变文本视图中文本单词之间的空格
- recaptcha - Matrix Synapse 的 reCaptcha 配置
- java - 如何为多个类创建一个通用 JpaRepository?