Files
CardServer/db.js

69 lines
1.8 KiB
JavaScript
Raw Permalink Normal View History

2025-10-11 14:45:08 +08:00
const mariadb = require('mariadb');
// 创建一个连接池
const pool = mariadb.createPool({
host: 'localhost',
user: 'rc',
password: '1q3e@W$R',
database: 'Card'
});
// 获取连接
async function getConnection() {
let conn;
try {
conn = await pool.getConnection();
console.log("Connected to the database!");
} catch (err) {
console.error("Error connecting to the database:", err);
}
return conn;
}
// async function insertData(conn) {
// const query = "INSERT INTO your_table (column1, column2) VALUES (?, ?)";
// const values = ['value1', 'value2'];
// try {
// const result = await conn.query(query, values);
// console.log(`Inserted with ID: ${result.insertId}`);
// } catch (err) {
// console.error("Error inserting data:", err);
// }
// }
async function fetchData(conn) {
const query = "SELECT * FROM your_table";
try {
const rows = await conn.query(query);
console.log(rows);
} catch (err) {
console.error("Error fetching data:", err);
}
}
async function isRoomAvailable(conn, roomId) {
const query = "SELECT 1 FROM Room WHERE RoomID = ? AND Status = 0 LIMIT 1";
try {
const rows = await conn.query(query, [roomId]);
if (rows.length === 0) {
// 不存在或已被占用
return false;
}
// 执行更新
const updateQuery = "UPDATE Room SET Status = 1 WHERE RoomID = ?";
const result = await conn.query(updateQuery, [roomId]);
// 检查是否更新了1行
return Number(result.affectedRows) === 1;
} catch (err) {
console.error("Error checking room availability:", err);
return false;
}
}
module.exports = {
getConnection,
isRoomAvailable
};