Примеры и
задачи
137
Таблица 1.8. Значения свойств объекта
SelectCommand
компонента
oleDbDataAdapter1
Свойство Значение
CommandText
SELECT
*
FROM contacts
WHERE (name LIKE ?)
ORDER BY name
Parameters[0].ParameterName
name
Parameters[0].SourceColumn name
Листинг 1.27. Модуль формы программы Контакты-2
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using WindowsFormsApplication1.Properties;
/*
Пространство имен WindowsFormsApplication1.Properties
определено в файле Settings.Designer.cs,
который создает среда
разработки в результате
формирования списка параметров на вкладке
Settings (команда Project>Properties)
Параметры программы:
Параметр: ConnectionString
Часть 1
138
Name:
ConnectionString
Type: String
Scope: Application
Value: Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=D:\Database\Contacts.md
*/
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
// загрузка формы
- начало работы программы
private void Form1_Load(object sender, EventArgs e)
{
// загрузить строку соединения
// из файла конфигурации
oleDbConnection1.ConnectionString =
Settings.Default.ConnectionString;
//
получить информацию из БД
// т.к. у команды SELECT есть параметр,
// который задает критерий отбора записей,
// то надо задать его значение */
oleDbDataAdapter1.SelectCommand.Parameters[0].Value
= "%%";
//
прочитать данные из БД
oleDbDataAdapter1.Fill(dataTable1);
}
Примеры и задачи
139
// щелчок на кнопке Найти
private void button1_Click(object sender, EventArgs e)
{
dataSet1.Clear(); //
удалить старые данные
// для получения информации из базы данных
// используется команда SELECT с параметром:
// SELECT *FROM сontacts WHERE (name Like ? ),
// где: ? - параметр
// В программе доступ к
параметру можно получить
// по номеру или по имени.
oleDbDataAdapter1.
SelectCommand.Parameters["name"].Value = "%" +
textBox1.Text + "%";
// выполнить команду
oleDbDataAdapter1.Fill(dataTable1);
}
// пользователь выделил строку и нажал
private void dataGridView1_UserDeletingRow
(object sender, DataGridViewRowCancelEventArgs e)
{
DialogResult dr =
MessageBox.Show("Удалить запись?",
"Удаление записи",
MessageBoxButtons.OKCancel,
MessageBoxIcon.Warning,
MessageBoxDefaultButton.Button2);
if (dr == DialogResult.Cancel )
{