document.addEventListener('DOMContentLoaded', function() { const form = document.getElementById('registration-form'); form.addEventListener('submit', function (event) { event.preventDefault(); // 阻止表单提交 const name = document.getElementById('name').value; const password = document.getElementById('password').value; const email = document.getElementById('email').value; console.log('注册信息:'); console.log('用户名:', name); console.log('密码:', password); console.log('邮箱:', email); }); }); const express = require('express'); const bodyParser = require('body-parser'); const mssql = require('mssql'); const app = express(); app.use(bodyParser.urlencoded({ extended: false })); // 创建与数据库的连接 const connection = mssql.createConnection({ server: '192.168.10.223', user: 'sa', password: 'Servo01', database: 'demo' }); // 连接数据库 connection.connect(function (err) { if (err) { console.error('Error connecting to database:', err); return; } console.log('Connected to database!'); }); // 处理注册页面的 POST 请求 app.post('/', function (req, res) { const name = req.body.name; const password = req.body.password; const email = req.body.email; console.log('注册信息:'); console.log('用户名:', name); console.log('密码:', password); console.log('邮箱:', email); // 将数据保存到数据库 const query = `INSERT INTO username (name, password, email) VALUES ('${name}','${password}','${email}')`; const request = new mssql.Request(); connection.query(query, function (err, res) { if (err) { console.error('Error saving data to database:', err); return; } console.log('数据已保存到数据库!'); }); res.send('注册成功!'); }); app.listen(3000, function () { console.log('Server is running on port 3000'); });我要连接到sqlsever数据库然后将注册信息导进username表中
时间: 2024-02-01 11:03:11 浏览: 29
您的代码中存在一些问题:
1. 在Express的app.post()路由中,您使用了两次`res`作为变量名,一次作为回调函数的参数名,一次作为连接池查询的回调函数的参数名。这会导致变量覆盖和混淆。建议将其中一个变量名更改为其他名称。
2. 在连接池查询的回调函数中,您使用了`connection.query()`方法,但是该方法是用于MySQL数据库的,对于SQL Server数据库,您应该使用`request.query()`方法进行查询操作。
3. 在插入数据到数据库的查询语句中,您使用了`${name},${password},${email}`作为值,应该使用单引号将字符串值括起来,例如`'${name}','${password}','${email}'`。
请尝试修改您的代码如下:
```javascript
document.addEventListener('DOMContentLoaded', function() {
const form = document.getElementById('registration-form');
form.addEventListener('submit', function (event) {
event.preventDefault(); // 阻止表单提交
const name = document.getElementById('name').value;
const password = document.getElementById('password').value;
const email = document.getElementById('email').value;
console.log('注册信息:');
console.log('用户名:', name);
console.log('密码:', password);
console.log('邮箱:', email);
});
});
const express = require('express');
const bodyParser = require('body-parser');
const mssql = require('mssql');
const app = express();
app.use(bodyParser.urlencoded({ extended: false }));
// 创建与数据库的连接
const config = {
server: '192.168.10.223',
user: 'sa',
password: 'Servo01',
database: 'demo'
};
// 连接数据库
mssql.connect(config, function (err) {
if (err) {
console.error('Error connecting to database:', err);
return;
}
console.log('Connected to database!');
});
// 处理注册页面的 POST 请求
app.post('/', function (req, res) {
const name = req.body.name;
const password = req.body.password;
const email = req.body.email;
console.log('注册信息:');
console.log('用户名:', name);
console.log('密码:', password);
console.log('邮箱:', email);
// 将数据保存到数据库
const query = `INSERT INTO username (name, password, email) VALUES ('${name}','${password}','${email}')`;
const request = new mssql.Request();
request.query(query, function (err, result) {
if (err) {
console.error('Error saving data to database:', err);
return;
}
console.log('数据已保存到数据库!');
});
res.send('注册成功!');
});
app.listen(3000, function () {
console.log('Server is running on port 3000');
});
```
请确保数据库连接配置正确并可正常访问,并且数据库中已经创建了名为 "demo" 的数据库和 "username" 表。如果还有其他问题,请提供更多详细信息。