Sql 从前端将数据插入并更新到数据库
我是网络开发新手。我正在开发一个角度应用程序。我在前端开发了一个角度表单,在后端开发了Node.js和Sql server。我需要一些帮助来将我的angular表单连接到sql server数据库。我想将数据从angular表单保存到sql server数据库 版本: 角度CLI:8.0.3 节点:10.16.0 操作系统:win32 x64 角度:8.0.1 我已经尝试使用RESTfulAPI通过post和get在服务器页面插入数据 单击角度窗体中的“提交”按钮时,如何将角度窗体连接到sql数据库并插入和更新数据Sql 从前端将数据插入并更新到数据库,sql,node.js,sql-server,angular,express,Sql,Node.js,Sql Server,Angular,Express,我是网络开发新手。我正在开发一个角度应用程序。我在前端开发了一个角度表单,在后端开发了Node.js和Sql server。我需要一些帮助来将我的angular表单连接到sql server数据库。我想将数据从angular表单保存到sql server数据库 版本: 角度CLI:8.0.3 节点:10.16.0 操作系统:win32 x64 角度:8.0.1 我已经尝试使用RESTfulAPI通过post和get在服务器页面插入数据 单击角度窗体中的“提交”按钮时,如何将角度窗体连接到sql数
var express = require("express");
var bodyParser = require("body-parser");
var tediousExpress = require("express4-tedious");
var path = require("path")
var app = express();
// Body Parser Middleware
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
//CORS Middleware
app.use(function (req, res, next) {
//Enabling CORS
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, contentType,Content-Type, Accept, Authorization");
next();
});
app.get('/', function (req, res) {
var sql = require("mssql");
// config for your database
var config = {
server:'******',
database: '*******',
user:'******',
password: '*****',
};
// connect to your database
sql.connect(config, function (err) {
if (err) console.log(err);
// create Request object
var request = new sql.Request();
// query to the database and get the records
request.query('select * from dbo.contact', function (err, recordset) {
if (err)
console.log(err)
else
// send records as a response
res.send(recordset);
});
});
});
app.use("/contact", (req, res) => {
res.sendfile( __dirname + "/src/app/contact/contact.component.html");
});
app.use("/product", (req, res) => {
res.sendfile( __dirname + "/src/app/product/product.component.html");
});
app.use("/homepage", (req, res) => {
res.sendfile( __dirname + "/src/app/home/home.component.html");
});
const port = process.env.PORT || 3000;
app.listen(port, () => console.log(`Listening on port ${port}....`));
我们在这里为您服务
接触
名称是必需的。
电子邮件是必需的。
提交
````
````contact.component.ts
从“@angular/core”导入{Component,OnInit};
从'@angular/common/http'导入{HttpClient};
从“@angular/common/http”导入{HttpErrorResponse};
从'@angular/Router'导入{Router};
@组成部分({
选择器:“应用程序联系人”,
templateUrl:'./contact.component.html',
样式URL:['./contact.component.css']
})
导出类组件{
标题='使用角度4'的简单示例联系我们页面';
公共数据:any=[]
构造函数(专用http:HttpClient){
}
保存(姓名、电子邮件、手机、主题、消息):无效{
this.data['name']=name;
此.data['email']=电子邮件;
this.data['mobile']=mobile;
此.data['subject']=主题;
this.data['message']=消息;
console.log(this.data);
//添加发送电子邮件或mysql的请求
this.http.post('/contact1',this.data).subscribe(
res=>{
控制台日志(res);
},
(错误:HttpErrorResponse)=>{
if(err.error instanceof error){
log(“发生客户端错误”);
}否则{
log(“发生服务器端错误”);
}
});
}
}
````
您的问题是…?谢谢您的回复。我已经更新了,请检查。从表单中收集数据并根据其API将其发送到服务器。你想做什么?你犯了什么错误?目前,您的问题看起来像“请为我编写代码”。我能够读取并将数据从我的服务器页面插入数据库。我需要关于如何将angular表单连接到数据库的指导(将我的contact.component.html和contact.component.ts(contact表单)路由到server.js(server))@kris angular有很好的“入门”指南,请花15分钟阅读它,我相信你的大多数问题都会消失,或者至少你能够解释什么是不起作用的。。。
<div style="text-align:center">
<h1 class="well">
We are available here for you
</h1>
<div class="loader" *ngIf="dataloading"></div>
<div class = "row">
<div class="column">
<div class ="container">
<div class="col-md-5">
<div class="form-area">
<form role="form" (ngSubmit)="processForm()">
<br style="clear:both">
<h3 style="margin-bottom: 50px; text-align: center;">Contact</h3>
<div class="form-group">
<input required ngModel name="Name" #FirstName="ngModel" (change)="log(Name)" type="text" class="form-control" id="Name" name="name" placeholder="Name" [(ngModel)]="name" required>
<div class="alert alert-danger" *ngIf="Name.touched && !Name.valid" > Name is required.</div>
</div>
<div class="form-group">
<input required type="email" class="form-control" id="email" name="email" placeholder="Email" [(ngModel)]="email" required>
<div class="alert alert-danger" *ngIf="email.touched && !email.valid" > Email is required.</div>
</div>
<div class="form-group">
<input type="phone" class="form-control" id="mobile" name="mobile" placeholder="Mobile Number" [(ngModel)]="mobile" required>
</div>
<div class="form-group">
<input type="text" class="form-control" id="subject" name="subject" placeholder="Subject" [(ngModel)]="subject" required>
</div>
<div class="form-group">
<textarea class="form-control" type="textarea" id="message" name="message" placeholder="Message max(200)" [(ngModel)]="message" maxlength="140" rows="7"></textarea>
</div>
<hr class="mb-4">
<button type="button" id="submit" name="submit" class="btn btn-primary btn-lg btn-block" (click)="save(name, email, mobile, subject, message)">Submit</button>
</form>
</div>
</div>
</div>
````
````contact.component.ts
import { Component, OnInit} from '@angular/core';
import {HttpClient} from '@angular/common/http';
import {HttpErrorResponse} from '@angular/common/http';
import {Router} from '@angular/router';
@Component({
selector: 'app-contact',
templateUrl: './contact.component.html',
styleUrls: ['./contact.component.css']
})
export class ContactComponent {
title = 'Simple Example Contact-us page using Angular 4';
public data:any=[]
constructor(private http: HttpClient){
}
save(name, email, mobile, subject, message): void {
this.data['name']= name;
this.data['email']= email;
this.data['mobile']= mobile;
this.data['subject']= subject;
this.data['message']= message;
console.log(this.data);
//add request to send email or into mysql
this.http.post<any>('/contact1', this.data).subscribe(
res => {
console.log(res);
},
(err: HttpErrorResponse) => {
if (err.error instanceof Error) {
console.log("Client-side error occured.");
} else {
console.log("Server-side error occurred.");
}
});
}
}
````