const sqlite3 = require('sqlite3').verbose(); const path = require('path'); // 打开数据库 const dbPath = path.join(__dirname, 'data', 'cashier.db'); console.log('数据库路径:', dbPath); const db = new sqlite3.Database(dbPath, sqlite3.OPEN_READONLY, (err) => { if (err) { console.error('打开数据库失败:', err.message); return; } console.log('成功连接到数据库'); }); // 查询收银员信息 db.all('SELECT id, username, name, role, is_active FROM cashiers', [], (err, rows) => { if (err) { console.error('查询失败:', err.message); return; } console.log('收银员信息:'); console.log('ID\t用户名\t\t姓名\t\t角色\t\t是否激活'); console.log('------------------------------------------------------------'); rows.forEach(row => { console.log(`${row.id}\t${row.username}\t\t${row.name}\t\t${row.role}\t\t${row.is_active ? '是' : '否'}`); }); }); // 查询商品信息 db.all('SELECT id, name, price, stock FROM products LIMIT 5', [], (err, rows) => { if (err) { console.error('查询商品失败:', err.message); return; } console.log('\n商品信息 (前5条):'); console.log('ID\t名称\t\t\t价格\t\t库存'); console.log('------------------------------------------------------------'); rows.forEach(row => { console.log(`${row.id}\t${row.name}\t\t\t${row.price}\t\t${row.stock}`); }); // 关闭数据库连接 db.close((err) => { if (err) { console.error('关闭数据库失败:', err.message); return; } console.log('数据库连接已关闭'); }); });