根据用户输入将“ x”行添加到SQL表中

时间:2019-10-16 21:42:05

标签: sql-server vue.js

我有一个应用程序,该应用程序具有通过Vue从数据库显示的可编辑表行。截至目前,有一个按钮(添加行),单击该按钮时将调用查询以将行插入数据库。有没有一种方法可以让用户输入自动添加x的行数,而不必多次单击(添加行)按钮?

这是前端按钮:

input(style="margin-right: 50px;" type="submit" value="Add Line  " @click="addLine(query_number)")

这是调用后端查询的Vue函数

addLine(query_number) {
  let line = {
    "quote_number": this.query_number
  }

  this.$http.post(`/api/quote/line/?quote_number=${query_number}`, line).then(res => {
    if(res.data.error) {
      this.$root.updateError(res.data.error)
    } else {
      this.$router.go(`/quote/line/?quote_number=${query_number}`), this.$root.updateSuccess(res.data.message)
    }
  }).catch(error => {
    this.$root.updateError(error)
  })
},

最后是邮寄电话:

.post(checkAuthentication, (req, res) => {
  let request = new sql.Request(pool)
  let add_newLine = `
  insert into quote_line (
    quote_number,
    line_number,
    item_id,
    created_at
  )
  output Inserted.*
  Values (
    ${req.query.quote_number},
    ((select count(quote_number) as [count]
      from quote_line
      where quote_number = ${req.query.quote_number || ''}) + 1),
    'new item line',
    getDate()
  )`

  request.query(add_newLine, (error, result) => {
    if(error) {
      throw new Error(error)
      res.json({"error": `${error}`})
    }
    res.json({"message": `Successfully added a new line to ${req.query.quote_number}`})
  })
})

1 个答案:

答案 0 :(得分:0)

创建一个UI元素,用户可以在其中输入要添加的行数,并可以修改当前添加一行的函数以添加多个行,或者基于该输入在循环中调用它。

如Dale所说,我们可能需要查看代码以进一步提供帮助。