我正在尝试使用nodejs(Express)插入我的SQL Server数据库表。
我尝试过的所有东西都不起作用。
在我的app.js中,我有以下正确执行并连接,但是我在努力的地方是,如何将数据插入到我的数据库表中。
app.js
var Connection = require('tedious').Connection;
var Request = require('tedious').Request;
var TYPES = require('tedious').TYPES;
var async = require('async');
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var mysql = require('mysql');
var sql = require('mssql');
var index = require('./routes/index');
var users = require('./routes/users');
var homepage = require('./routes/homepage');
var app = express();
////// DB CONF //////
var config = {
userName: 'xxxxxxxxxxxxxx',
password: 'xxxxxxx',
server: 'xxxxxxxxxxx',
options: {
database: 'xxxxxxxxxxx'
}
}
var connection = new Connection(config);
connection.on('connect', function(err) {
if (err) {
console.log(err);
} else {
console.log('Connected');
}
});
答案 0 :(得分:0)
您已经包含了mysql库。现在你必须创建mysql连接。喜欢:
const writeDB = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '********',
database: 'dbName'
});
创建连接运行查询后,如:
let squerySet = "INSERT INTO weekDays (`id`, `date`, `day`) values ('1','2018-03-03', 'Monday');"
writeDB.query(squerySet,(err, result) => {
if(err){
return reject(err)
}
else {
resolve("carrierbillreceipt Table COPY DONE .....")
}
})
因为writeDB.query
将返回一个承诺,所以你必须通过在promise中创建它来处理这个问题。像:
const insertDays = () => {
return new Promise((resolve, reject) => {
let squerySet = "INSERT INTO weekDays (`id`, `date`, `day`) values ('1','2018-03-03', 'Monday');"
writeDB.query(squerySet,(err, result) => {
if(err){
return reject(err)
}
else {
resolve("insertDays Insert DONE .....")
}
})
})
}
您还可以插入JSON对象。像:
let data = { "id": '1', "date":'2018-03-03', "day": 'Monday'}
writeDB.query(`INSERT INTO weekDays SET ?;`,[data],(err, result) => {
if(err){
return reject(err)
}
else {
resolve("insertDays Insert DONE .....")
}
})