gpt4 book ai didi

java - 我无法将两个值插入到不同的 SQL 表中

转载 作者:行者123 更新时间:2023-11-30 00:05:37 24 4
gpt4 key购买 nike

我使用此代码为我的 Controller 将值插入到表中。

public boolean createDuty() throws ParseException{

boolean success = false;
DBController db = new DBController();
String dbQuery;

db.getConnection();

dbQuery = "INSERT INTO duty(dutyName)" + " VALUES ('" + dutyName + "')";
dbQuery = "INSERT INTO venue(venueAddress)" + " VALUES ('" + venueAddress + "')";

if (db.updateRequest(dbQuery) == 1){
success = true;
}

db.terminate();

return success;
}

但是,java 的输出只表明仅插入了venueAddress,而没有插入dutyName。

Successfully connected to jdbc:mysql://xxxxx/xxxxx.
DB Query: INSERT INTO venue(venueAddress) VALUES ('Woodgrove Tennis Centre')
Connection is closed

我的代码有问题吗?有人可以帮助我吗..

最佳答案

阅读您的代码:

dbQuery = "INSERT INTO duty(dutyName)" + " VALUES ('" + dutyName + "')";

在这里,您将 SQL 查询分配给变量 dbQuery 。然后

dbQuery = "INSERT INTO venue(venueAddress)" + " VALUES ('" + venueAddress + "')";

在这里,您将另一个 SQL 查询分配给同一个变量。然后

if (db.updateRequest(dbQuery) == 1){

这里您正在执行 dbQuery 引用的查询。如果要执行2次查询,则需要调用db.updateRequest()两次,一次用于第一个 SQL 查询,一次用于第二个 SQL 查询。

另外,请阅读 prepared statements 。您的代码很容易受到 SQL 注入(inject)攻击,并且一旦venueAddress就会崩溃。或dutyName包含单引号。

关于java - 我无法将两个值插入到不同的 SQL 表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24584138/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com