Java 无法使用executeQuery()和StringTokenizer发出数据操作语句

Java 无法使用executeQuery()和StringTokenizer发出数据操作语句,java,jdbc,Java,Jdbc,嗨,我想做这样的事情: StringTokenizer tokenizer = new StringTokenizer(getCompletedAnswers, "$"); while(tokenizer.hasMoreTokens()){ System.out.println(tokenizer.nextToken()); rs = st.executeQuery("INSERT

嗨,我想做这样的事情:

StringTokenizer tokenizer = new StringTokenizer(getCompletedAnswers, "$");
                while(tokenizer.hasMoreTokens()){

                    System.out.println(tokenizer.nextToken());
                    rs = st.executeQuery("INSERT INTO "+db+".answersTable(`answer`) VALUES ('"+tokenizer.nextToken()+"')");

                }
但它给了我一个错误
无法使用executeQuery()发出数据操作语句。

当我在文档中看到我必须使用
executeUpdate()
时,我正在这样做:

rs = st.executeUpdate("INSERT INTO "+db+".answersTable(`answer`) VALUES ('"+tokenizer.nextToken()+"')");
它告诉我:
类型不匹配:无法从int转换为ResultSet

知道如何使用StringTokenizer将这些令牌放入数据库吗?
谢谢

您应该使用语句。请改为执行更新

executeUpdate方法返回一个int:

返回: (1)SQL数据操作语言(DML)语句的行数,或(2)不返回任何内容的SQL语句的行数为0


好的,它可以工作,但它只向数据库添加一个标记,如果我从标记器读取了两个标记abc1和abc2。nextToken()它只添加abc2,知道为什么吗?原因是不能重用语句(st)。所以在while循环内而不是在while循环外初始化st。这就是我所做的,但仍然没有结果,和以前一样。我使用了
语句st=null
然后
st.executeUpdate(“插入“+db+”.answersTable(answer)值(“+tokenizer.nextToken()+”)”)内部while loopok问题已解决,需要将tokenizer.nextToken()分配给string
string str=tokenizer.nextToken()同样糟糕的是,sql语句实际上可以重用