Как программно отсортировать базу данных сервера C# SQL и отобразить каждый элемент в виде отдельной кнопки? - PullRequest
0 голосов
/ 02 апреля 2020

Я работаю над базой данных C# проекта. Я использую серверную базу данных SQL с несколькими таблицами, которые я создал. Я работаю над тем, чтобы сделать так, чтобы я мог жестко закодировать функцию для сортировки базы данных по имени в алфавитном порядке и при этом сохранять идентификаторы для увеличения на 1. На данный момент первая верна, но все остальные имеют одно и то же имя.

SqlConnection cn = new SqlConnection(global::Cookbook_Project.Properties.Settings.Default.RecipesDatabaseConnectionString);

try
{
    cn.Open();

    var command = new SqlCommand("Select * from SoupTable", cn);
    command.ExecuteNonQuery();

    command.CommandText = "Select soups from SoupTable Order By soups ASC";
    btnSoup1.Text = command.ExecuteScalar().ToString();

    command.CommandText = "Select soups from SoupTable Order By soups ASC";
    btnSoup2.Text = command.ExecuteScalar().ToString();

    command.CommandText = "Select soups from SoupTable Order By soups ASC";
    btnSoup3.Text = command.ExecuteScalar().ToString();

    command.CommandText = "Select soups from SoupTable Order By soups ASC";
    btnSoup4.Text = command.ExecuteScalar().ToString();
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message, "Error");
}
finally
{
    cn.Close();
}

Это код для подключения к базе данных и попытки сортировки.

Это данные представление таблицы в базе данных с идентификаторами также отсортировано (я использовал здесь функцию сортировки, а не то, что мне нужно)

Снимок экрана # 1

Представление таблицы для дизайна :

Снимок экрана # 2

1 Ответ

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

Вам необходимо выполнить SQL один раз, используя DataReader, например:

List<string> SoupList = new List<string();
using (SqlCommand command = new SqlCommand("Select soups from SoupTable Order By soups ASC", cn))
{   
    using (SqlDataReader myReader = command.ExecuteReader())
    {
        while (myReader.Read())
        {
            SoupList.Add(Convert.ToString(myReader["soups"].ToString()));
        }    
    }
}

Теперь SoupList содержит все ваши записи.

Редактировать: Обновлено для использования Convert.ToString ( ) как предложено в комментариях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...