前端
<template>
<div>
<el-button type="primary" @click="save">发送数据到数据库</el-button>
</div>
</template>
<script>
import Vue from 'vue'
import axios from 'axios'
Vue.use(axios)
export default {
methods: {
tpexecute(url, methods, data, cb) {
//调用接口封装
if (data == '') {
axios({
url: url, //接口url
method: methods, //方式
}).then(function(res) {
cb(res)
})
} else {
axios({
//接口通信get方式
url: url, //接口url
method: methods, //方式
data: data,
}).then(function(res) {
cb(res)
})
}
},
save() {
var that = this
var tabledate = [
{ code: '003', name: '项目三', person: 'xxx' },
{ code: '004', name: '项目八', person: 'xxxxx' },
{ code: '005', name: '项目九', person: 'aaa' },
]
var sendata = { postdata: tabledate }
this.tpexecute('http://10.1.6.29:59535/Sql/MulileInsertTest', 'post', sendata, function(res) {
alert('成功!')
})
},
},
}
</script>
<style lang="scss" scoped></style>
后端
[HttpPost("/[controller]/MulileInsertTest")]
public string MulileInsertTest([FromBody] object receiveData)
{
try
{
JObject result = (JObject)JsonConvert.DeserializeObject(receiveData.ToString());
string data = result["postdata"].ToString();
IDbConnection connection = new SqlConnection(TPConfig.conn_Main);
JArray receive = (JArray)JsonConvert.DeserializeObject(data);
using (connection)
{
connection.Open();
string sql = "insert into testTable (code,name,person) values (@code,@name,@person)";
for(int i = 0; i < receive.Count; i++)
{
JObject jsondata = JObject.Parse(receive[i].ToString());
connection.Execute(sql, new { code = jsondata["code"].ToString(), name = jsondata["name"].ToString(), person = jsondata["person"].ToString() });
}
return "OK!";
}
}
catch (Exception)
{
throw;
}
}