Лабораторная работа 4. Свойства и методы объектов Connection и Command (продолжение)
Цель: запросы с параметром, запуск хранимых процедур с параметрами.
Задача 1. Выполнить запрос с параметром в ответ на выбор команды меню
1. Создать меню. Для этого выбрать элемент MenuStrip и поместить на форму.
2. Добавить пункт меню: Щелкнуть в области меню и в поле «Вводить здесь» ввести название пункта меню «Команда с параметром»
3. Добавить пункты подменю в соответствии с рисунком
4. Ввести другие элементы формы, показанные на рисунке
5. Дважды щелкнуть на пункте подменю Запрос с параметром и ввести код процедуры обработки события:
string strconn = string.Format("Server={0};Port={1};User ID={2};Password={3};Database={4}", textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text, textBox5.Text);
using (NpgsqlConnection cnn = new NpgsqlConnection(strconn))
{
cnn.Open();
string stsql = "";
using (NpgsqlCommand myCommand = new NpgsqlCommand("select * from \"Жанры\" where \"Имя\" like :value1 ", cnn))
{
myCommand.Parameters.Add(new NpgsqlParameter("value1", NpgsqlTypes.NpgsqlDbType.Varchar)); // Можно также использовать объект NpgsqlParamenter и объект-коллекцию NpgsqlParamenterCollection
stsql = "%" + textBox6.Text + "%";
myCommand.Parameters[0].Value = stsql;
using (NpgsqlDataReader dr = myCommand.ExecuteReader())
{
listBox1.Items.Clear();
while (dr.Read())
{
/*for (int i = 0; i < dr.FieldCount; i++)
{
//здесь может быть обращение к полям
}*/
listBox1.Items.Add(Convert.ToString(dr[1]));
}
}
}
}
Задача 2. Решить предыдущую задачу, не используя параметры.