gpt4 book ai didi

database - 为什么将数据两次添加到同一表?

转载 作者:行者123 更新时间:2023-12-03 03:35:20 25 4
gpt4 key购买 nike

我有一个数据库,该数据库具有一个队列表,该表包含队列名称和ID,以及两个队列表(队列1和队列2)。
现在,我有一个应该向正确的队列添加订单的函数,但是它仅添加至第二个队列,并且我已经在使用for循环来更改应使用的队列。

这是代码

for (int i = 0; i < tmpQueuesIds.length; i++){
await http.post(GlobalState.ADDTOQUEUE, body: {
'queueId': tmpQueuesIds[i].toString(),
'timeinmin': tmpTimes[tmpQueuesIds[i]].toString(),
'resId': _globalState.get('resId').toString(),
'userId': userId.toString(),
});
print("QueueId: " + tmpQueuesIds[i].toString());
print("OrderTime: " + tmpTimes[tmpQueuesIds[i]].toString());
Future.delayed(Duration(milliseconds: 500));
}

这是输出:
I/flutter ( 3238): QueueId: 1
I/flutter ( 3238): OrderTime: 6
I/flutter ( 3238): QueueId: 2
I/flutter ( 3238): OrderTime: 10

如您所见,我有两个队列,并且值正在更改,但是它将值10两次插入到队列2中,应该将值6插入到队列1中,将值10插入到队列2中。

这是api代码
try {
router.post('/', (req, res, next) => {

queueId = req.body.queueId;
resId = req.body.resId;
timeinmin = req.body.timeinmin;
userId = req.body.userId;
var orderId;

sqlQuery = `SELECT id FROM orders where userid = ${userId} and isdone = false`;

con.query(sqlQuery, (err, rows) => {
try {
lastIndex = rows['rows'].length - 1;
orderId = rows['rows'][lastIndex]['id'];
} catch{
console.log('something wrong with setting orderId or lastIndex value in addToQueue.js');
}

if (!err) {
sqlQuery2 = `SELECT name FROM queues where id = ${queueId}`;
try {
con.query(sqlQuery2, function (err, rows) {
try {
queueName = rows['rows'][0]['name'];
} catch{
console.log('something wrong with setting queueName value in addToQueue.js');

}

if (!err) {

sqlQuery2 = `INSERT INTO ${queueName} (timeinmin, resid, orderid) VALUES(${timeinmin}, ${resId}, ${orderId})`;

try {
con.query(sqlQuery2, function (err, rows) {

if (!err) {
res.sendStatus(201);
console.log('added to queue');
} else {
console.error("Failed to add to queue");
console.log(err);
res.sendStatus(202);
}
});
} catch{
console.log('Something went down.');
}
} else {
console.error("Failure");
console.log(err);
res.sendStatus(202);
}
});
} catch{
console.log('Something went down.');
}
} else {
console.log(err);
res.sendStatus(202);
}
})
});
} catch{
console.log('Error');
}

请帮助我,谢谢。

最佳答案

我找不到您的代码有任何问题。

我的建议是尝试重新启动IDE,如果问题仍然存在,请尝试重新启动整个计算机。

关于database - 为什么将数据两次添加到同一表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61417893/

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