Http-слушатель отправляет столбцы с сервера sql - PullRequest
0 голосов
/ 24 сентября 2018

Я новичок в технике сервера.Я соединяю мобильный телефон с сервером приложений, и сервер приложений общается локально с сервером SQL.

Есть ли способ отправки и чтения столбцов с сервера SQL?Я имею в виду, что до сих пор я отправляю все столбцы в строке, разделенной запятой.

Когда клиент берет эту строку, он разделяет их и заполняет список или просмотр списка ...

Пример моей строкиимеет следующую форму: Джон, 24,1-й класс

и мой клиент содержит этот класс

public class objects()
{
   public string Name{get;set;}
   public string Age{get;set;}
   public string SchoolClass{get;set;}

}

Так что, когда я получаю ответ, я заполняю каждое значение из моей строки в каждом спискеобъект.

Есть ли другой метод, более эффективный и быстрый, чем этот?

 var web = new HttpListener();

        web.Prefixes.Add("http://localhost:8080/");

        Console.WriteLine("Listening..");

        web.Start();

        Console.WriteLine(web.GetContext());

        var context = web.GetContext();

        var response = context.Response;

        string responseString = "";
        using (SqlConnection connection = new SqlConnection(connectionString)
        {
          connection.Open();
          using(SqlCommand cmd = new SqlCommand("Select name,age,SchoolClass from Students",connection))
           using(SqlDataReader read=cmd.ExecuteReader))
         {
           while(read.Read())
           {
              responseString +=read["Name"].ToString() + ",";
              responseString +=read["Age"].ToString() + ",";
              responseString +=read["SchoolClass"].ToString() + ",";
           }

        }

        var buffer = System.Text.Encoding.UTF8.GetBytes(responseString);

        response.ContentLength64 = buffer.Length;

        var output = response.OutputStream;

        output.Write(buffer, 0, buffer.Length);

        Console.WriteLine(output);

        output.Close();

        web.Stop();

        Console.ReadKey();
...