Я пытаюсь подключиться к SQL Server из веб-API и вернуть набор результатов в виде JSON.Но мой код, показанный здесь, не работает, как ожидалось.Я пытаюсь вернуть весь ответ на запрос в виде JSON:
[HttpGet]
public HttpResponseMessage Getdetails(string ROOM)
{
string commandText = "SELECT * from [TDB].[dbo].[results_vw] where ROOM = @ROOM_Data";
string connStr = ConfigurationManager.ConnectionStrings["TDBConnection"].ConnectionString;
var jsonResult = new StringBuilder();
using (SqlConnection connection = new SqlConnection(connStr))
{
SqlCommand command = new SqlCommand(commandText, connection);
command.Parameters.Add("@ROOM_Data", SqlDbType.VarChar);
command.Parameters["@ROOM_Data"].Value = ROOM;
connection.Open();
var reader = command.ExecuteReader();
if (!reader.HasRows)
{
jsonResult.Append("[]");
}
else
{
while (reader.Read())
{
jsonResult.Append(reader.GetValue(0).ToString());
}
}
var response = new HttpResponseMessage(System.Net.HttpStatusCode.OK);
response.Content = new StringContent(jsonResult.ToString());
connection.Close();
return response;
}
}
Этот код возвращает этот результат:
333838362692368203368203368203362692368203359544362692368203362692368203362692368203368203
Где я ожидаю JSON как
{"data":
[
{"R_ID":"368203","ROOM":"K2"},
{"R_ID":"368203","ROOM":"K2"}
]}
Теперь я создал класс модели с именем DatabaseResult
для хранения ответа, но я не уверен, как сохранить результат в классе модели в контроллере
public class DatabaseResult
{
public int r_id { get; set; }
public string room { get; set; }
}