将表单中的数据插入SQLite3数据库

时间:2018-11-14 22:30:25

标签: javascript node.js database express sqlite

我正在一个网站上工作(我是个流血的初学者),您可以在其中登录并创建活动。我想将事件信息保存在数据库表中。这是创建事件网站的表单:

<form>
    <label for="text">Name of the event: </label>
    <input type="text" name="eventname" id="eventname">
    <label for="text">Location of the event: </label>
    <input type="text" name="eventlocation" id="eventlocation">
    <label for="date">Date: </label>
    <input id="date" type="date" name="date" value="2018-11-01">
    <label for="time">Time: </label>
    <input id="time" type="time" name="time" value="15:00">
</form>

我读到我可以通过整数保存时间和日期,所以我创建了这样的表:

db.exec('CREATE TABLE events(eventname text, eventlocation text, date int, time int)');

现在,如果用户输入信息并单击提交按钮,则应将数据插入表中。我试图像这样在server.js中运行该过程:

app.get('/new_event', function(req, res) {
    res.render('new_event');
});

app.post('/new_event', function(req, res) {
    const { eventname, eventlocation, date, time } = req.body;
    db.run(`INSERT INTO events(eventname, eventlocation, date, time) VALUES(?, ?, ?, ?)`, [eventname, eventlocation, date, time], function(err) {
        if (err) {
            return console.log(err.message);
        }
        return res.redirect('/home');
    });
});

但是那是行不通的,我也不知道我做错了什么。。。是因为我用来显示时间和日期的格式吗?也许有人可以帮助我完成这项工作。会很好 :) 我正在使用node js,sqlite3,express。

谢谢:)

0 个答案:

没有答案