具有多个字段的 HTTPGet 从数据库中获取数据

HTTPGet With Multiple Fields To Get Data From Database

我有一个包含学生的数据库。为了通过学生的 Id 使用 HTTP Get 获取学生,这里是我的操作方法的片段:

    [HttpGet("{id}", Name = "Get")]
 public Student Get(int id)
{
     DataSet data = objDB.GetDataSet("SELECT * FROM Students WHERE Id = " + id.ToString());
}

现在我想创建另一个 HTTP Get,它可以通过学生的姓氏和年级获取学生。在我的数据库中,我有一个姓氏和年级的字段,就像 id 一样。但是我无法同时检查它们。我稍后会有 2 个文本框,用户可以在其中输入姓氏和成绩,并且将显示与输入的姓氏和成绩相匹配的所有学生。到目前为止,这是我的代码:(姓氏和年级在我的数据库中是 varchar)

[HttpGet("{lastname}/{grade}", Name = "GetLastNameGrade")]
public Student Get (string lastname, string grade)
{
DataSet ds = objDB.GetDataSet("SELECT * FROM Students WHERE LastName = " + lastname.ToString() + "AND" + "SELECT * FROM Students WHERE Grade = " + grade.ToString());

}

这是我的学生class

public int StudentID { get; set; }
public string LastName { get; set; }
public string Grade { get; set; }

我在使用 SQL 姓氏和年级语句时遇到问题。当我在 Postman 的方法中尝试 运行 时,我没有显示任何内容。我对自己做错了什么感到困惑。

为了格式化代码;

DataSet ds = objDB.GetDataSet("SELECT * FROM Students WHERE LastName = '" + lastname.ToString() + "' AND Grade = '" + grade.ToString() + "'");

这将生成一个有效的 Sql 语句,例如

SELECT * FROM Students WHERE LastName = 'OZGUL' AND Grade = 'B+'