Как вернуть определенное поле из базы данных SQL в разработанной Visual Studio (.net) программе - PullRequest
0 голосов
/ 03 марта 2012

Ранее я задавал подобный вопрос, однако он был немного двусмысленным и не дал жизнеспособного ответа. Поэтому я надеюсь, что этот вопрос достаточно ясен.

У меня есть следующие настройки на базовом уровне, и Чисто в качестве примера.

База данных SQL:

tableFood

foodType  name   ID
-------   ----   --
fruit     apple  1

veg'      carrot 2

fruit     pear   3

У меня есть следующие 3 формы в приложении, которое связано с источником MySQL с базой данных.

Choice.VB:

Две кнопки: Один говорит фрукты Один говорит Veg

После нажатия любой кнопки пользователь попадает в новую форму. Если они щелкали фруктом, их берут на

fruit.vb:

2 (динамические) метки, одна из которых содержит слово apple, а другая - груша.

Кажется достаточно простым, однако за кадром, когда пользователь первоначально щелкает фрукт, программа должна запросить связанную базу данных / источник (на основе SQL) для элементов, имя которых является фруктом, а затем вернуть их в программу, которая помещает текстовое значение в ярлыки.

Однако я полностью застрял в том, как это сделать.

Возможно ли это?

И если да,

Как?

1 Ответ

1 голос
/ 03 марта 2012

Это очень возможно при использовании ADO.NET. Эта ссылка проведет вас через весь процесс.Однако в настоящее время я бы предложил посмотреть LINQ или Entity Framework .Кроме того, в будущем лучше просто обновить исходный вопрос (/5721053/element-bazy-dannyh-spetsifichnyi-dlya-visual-studio-sql),, чем создавать новый дублированный вопрос с улучшенными деталями.

Вот пример с использованием ADO:

using (var connection = new SqlConnection("String Used To Connect To DB"))
{
    var cmd = new SqlCommand(
        "SELECT name, id FROM tableFood WHERE foodType = 'Fruit'", connection);
    connection.Open();
    SqlDataReader reader = cmd.ExecuteReader();
    while (reader.Read())
    {
        string name = reader["name"].ToString();
        int id = reader.GetInt32(reader.GetOrdinal("name"));
        //do something with name and id
    }
    connection.Close();
}

С другой стороны, вы можете (и должны в большинстве случаев) использовать команды для хранимых процедур (и получить защиту от внедрения SQL)

var cmd = new SqlCommand("StoredProcName", connection);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("foodType", "Fruit"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...