HTTPGet с несколькими полями для получения данных из базы данных - PullRequest
3 голосов
/ 21 апреля 2020

У меня есть база данных, которая содержит студентов. Чтобы ученики по их идентификатору использовали HTTP Get, вот фрагмент моего метода действия:

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

Теперь я хочу создать еще один HTTP Get, который может получить учеников по их фамилии и классу. что они в. В моей базе данных у меня есть поле для фамилии и оценки, как и идентификатор. Но у меня проблемы с проверкой их обоих одновременно. Позже у меня будет 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());

}

Вот мой класс ученика

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

У меня проблемы с SQL заявление для фамилии и класса. Когда я пытаюсь запустить метод в Почтальоне, я ничего не показываю. Я запутался в том, что я делаю неправильно.

1 Ответ

1 голос
/ 21 апреля 2020

ради форматированного кода;

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+'
...