Получить данные SQL и показать их в текстовом поле? - PullRequest
4 голосов
/ 14 июня 2011

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

Название таблицы: «чек».

Код, который я использую:

SqlDataReader myReader = null;

connection = new SqlConnection(System.Configuration.ConfigurationManager
                    .ConnectionStrings["ConnectionString"].ConnectionString);
connection.Open();

var command = new SqlCommand("SELECT * FROM [check]", connection);
myReader = command.ExecuteReader();
while (myReader.Read())
{
    TextBox1.Text = myReader.ToString();
}
connection.Close();

Я ничего не получаю в результате. Кто-нибудь знает почему? Может я неправильно вызываю SQL?

Ответы [ 3 ]

4 голосов
/ 14 июня 2011
using (var connection = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
using (var command = connection.CreateCommand())
{
    command.CommandText = "SELECT ColumnName FROM [check]";
    connection.Open();
    using (var reader = command.ExecuteReader())
    {
        while (reader.Read())
            TextBox1.Text = reader["ColumnName"].ToString();
    }
}

Некоторые комментарии:

  • не используйте *, укажите только те поля, которые вам нужны
  • используйте using - меньше кода, гарантированное удаление
  • Я предполагаю, что это тестовая программа, иначе нет смысла сбрасывать Text в a в цикле
4 голосов
/ 14 июня 2011
 TextBox1.Text = myReader["fieldname"].ToString();

также я думаю, что вы можете изменить while на if, потому что для каждой строки в вашей таблице вы будете перезаписывать текстовое поле!

1 голос
/ 14 июня 2011

Попробуйте это:

TextBox1.AppendText(myReader["columnname"].ToString());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...