sql - mssql nodejs:在整个承诺链中使用连接池
问题描述
我正在使用 nodejs 的 mssql 库来查询我的 Microsoft SQL 数据库。它首先检查数据库中是否存在一行,如果存在,则更新该行的值,如果不存在,则创建一个新行。这是我设置它的方式。执行时,它会在第 35 行和第 38 行抱怨变量 pool 不存在。
如何在第三个 then 语句中使用从第一个 then 语句中获得的池变量。
解决方案
问题是你的后三个 then 需要在你的第一个 then 中。这样,池就在他们的范围内。
模式是:
sql.connect(config).then(pool => {
pool.request.query().then().then().then();
})
你不能使用“如果不存在则插入”吗?这将是原子的和无种族的。如果不存在,请参阅SQL Server Insert 如果您使用它,您只需处理该行已经存在的情况
推荐阅读
- windows - 批处理文件。从名为 admin 的子文件夹中删除所有文件
- angular - 检查角度材料表复选框行值
- ios - 为什么 CAShapeLayerLineJoin 不能在 tvOS 上编译?
- mysql - 无法在节点中建立持久的 mysql 连接
- sql - 由多个但预先确定的帐户撰写的帖子的 SQL 查询
- python - 在 Python 中使用 Beautifulsoup 进行网页抓取
- javascript - Google Sheet API,PUT:this.http.put(...).map 不是函数
- android - 如何使 ListWheelScrollView 水平
- excel - VBA - 如何更快地删除和保留一些符合标准的数据
- java - Java 8 forEach 循环是 ListIterator 之类的方法还是 while 和 do-loop 之类的循环?