📌  相关文章
📜  如果存在 sql server - TypeScript (1)

📅  最后修改于: 2023-12-03 15:09:19.400000             🧑  作者: Mango

如果存在 SQL Server - TypeScript

如果你正在建立一个应用程序,需要使用 SQL Server 数据库,并且想要使用 TypeScript 来开发,那么你来对地方了!在本指南中,我们将深入探讨如何在 TypeScript 中使用 SQL Server。

安装依赖

在开始编码之前,我们需要将必要的依赖项安装到我们的项目中。

npm install --save mssql
npm install --save-dev @types/mssql typescript

这将安装 mssql 模块和 TypeScript 模块,以便在代码中进行类型检查。

连接到数据库

我们可以使用以下 TypeScript 代码连接到 SQL Server 数据库:

import * as sql from "mssql";

const config: sql.config = {
  server: "localhost",
  database: "mydb",
  user: "myuser",
  password: "mypassword",
  port: 1433,
  options: {
    encrypt: true,
  },
};

async function executeQuery(query: string) {
  try {
    await sql.connect(config);
    const result = await sql.query(query);
    return result.recordset;
  } catch (err) {
    console.error(err);
  }
}

executeQuery("SELECT * FROM MyTable").then((result) => console.log(result));

这段代码使用 mssql 模块建立一个连接,并执行 SQL 查询。我们首先定义连接配置,然后使用 sql.connect() 函数建立连接。一旦连接成功,我们使用 sql.query() 函数来执行查询,并返回结果集。最后,我们断开连接,并返回结果集。

处理结果集

我们可以将 SQL Server 的结果集存储在 TypeScript 对象中,以便在我们的应用程序中使用。

interface MyRow {
  id: number;
  name: string;
}

async function getMyRows(): Promise<MyRow[]> {
  const queryResult = await executeQuery("SELECT * FROM MyTable");
  const myRows: MyRow[] = queryResult.map((row) => ({
    id: row.id,
    name: row.name,
  }));
  return myRows;
}

getMyRows().then((rows) => console.log(rows));

这里,我们定义了一个 MyRow 接口来表示结果集中的行。我们编写了一个函数 getMyRows() 来执行 SQL 查询,并将结果转换为 TypeScript 对象数组。

使用参数化查询

最后,我们强烈建议使用参数化查询来避免 SQL 注入攻击。

async function getMyRowById(id: number): Promise<MyRow | undefined> {
  const queryResult = await sql.query`SELECT * FROM MyTable WHERE id = ${id}`;
  const myRow = queryResult.recordset[0];
  return myRow
    ? {
        id: myRow.id,
        name: myRow.name,
      }
    : undefined;
}

getMyRowById(1).then((row) => console.log(row));

这里,我们使用 sql.query 函数来执行参数化查询。我们在查询字符串中使用 ${},SQL Server 将自动将它们绑定到参数。这可以有效地防止 SQL 注入攻击,并提高应用程序的安全性。

结论

在本指南中,我们介绍了如何在 TypeScript 中使用 SQL Server。我们涵盖了连接到数据库、处理结果集和使用参数化查询。希望这个指南能够帮助你快速上手。