ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 02.12.2023
Просмотров: 23
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
6. Добавление данных
Добавляем новую форму в проект и называем ее «AddForm»:
Изменяем заголовок формы и добавляем на форму компоненты:
-
1 groupBox c текстом «Добавление записи»; -
4 TextBox и меняем свойство «Name» на (tbName, tbPhone, tbMail, tbPhoto); -
4 label и меняем текст на (Имя, Телефон, E-mail, Фото); -
1 Button и меняем свойство «Name» на «AddBtn» (Добавить); -
1 Button и меняем свойство «Name» на «CloseBtn» (Закрыть).
Переходим на главную форму и добавляем кнопку «Добавить» для добавления новой записи. Дважды щелкаем на нее и пишем код для вызова нашей новой формы:
private void button1_Click(object sender, EventArgs e)
{
AddForm af = new AddForm();
af.Owner = this;
af.Show();
}
Проверьте работоспособность приложения:
Возвращаемся на форму «Добавления записи». Пишем обработчик событий для кнопки «CloseBtn»:
private void button2_Click(object sender, EventArgs e)
{
Close();
}
Чтобы обработчик событий на кнопке «AddBtn» работал как надо нужно выполнить несколько действий. Зайти в «Form1.Designer.cs» и изменить модификаторы доступа на «public» нижеуказанных файлов:
-
System.Windows.Forms.DataGridView dataGridView1; -
testDataSet testDataSet; -
System.Windows.Forms.BindingSource contactsBindingSource; -
testDataSetTableAdapters.contactsTableAdapter contactsTableAdapter;
Это нужно для того чтобы наша база данных была доступна для разных с ней манипуляций во всех создаваемых нами формах. Обработчик событий для кнопки «AddBtn»:
public void AddBtn_Click(object sender, EventArgs e)
{
Form1 main = this.Owner as Form1;
if (main != null)
{
DataRow nRow = main.testDataSet.Tables[0].NewRow();
int rc = main.dataGridView1.RowCount + 1;
nRow[0] = rc;
nRow[1] = tbName.Text;
nRow[2] = tbPhone.Text;
nRow[3] = tbMail.Text;
nRow[4] = tbPhoto.Text;
main.testDataSet.Tables[0].Rows.Add(nRow);
main.contactsTableAdapter.Update(main.testDataSet.contacts);
main.testDataSet.Tables[0].AcceptChanges();
main.dataGridView1.Refresh();
tbName.Text = "";
tbPhone.Text = "";
tbMail.Text = "";
tbPhoto.Text = "";
}
}
Проверьте работу приложения. Добавьте несколько новых записей через новую форму добавления записей.
7. Поиск данных
Реализуем самый простой поиск. Данный поиск используется в небольших приложениях. Создаем новую форму с именем «SearchForm» и добавляем на форму компоненты:
-
1 GroupBox (Поиск); -
1 label; -
2 button (Найти и Закрыть); -
1 TextBox и меняем в свойствах «Name» на «tbStr».
Переходим на главную форму и добавляем кнопку «Найти» для поиска записей. Дважды щелкаем на нее и пишем код для вызова нашей новой формы:
private void button2_Click(object sender, EventArgs e)
{
SearchForm sf = new SearchForm();
sf.Owner = this;
sf.Show();
}
Проверяем работоспособность приложения:
Возвращаемся на форму «Поиска». Пишем обработчик событий для кнопки «Закрыть»:
private void button2_Click(object sender, EventArgs e)
{
Close();
}
Пишем обработчик событий для кнопки «Найти»:
private void button1_Click(object sender, EventArgs e)
{
Form1 main = this.Owner as Form1;
if (main != null)
{
for (int i = 0; i < main.dataGridView1.RowCount; i++)
{
main.dataGridView1.Rows[i].Selected = false;
for (int j = 0; j < main.dataGridView1.ColumnCount; j++)
if (main.dataGridView1.Rows[i].Cells[j].Value != null)
if (main.dataGridView1.Rows[i].Cells[j].Value.ToString().Contains(tbStr.Text))
{
main.dataGridView1.Rows[i].Selected = true;
break;
}
}
}
}
На главную форму добавляем кнопку «Выход» и пишем для нее код:
private void button3_Click(object sender, EventArgs e)
{
Close();
}
Итоговая форма приложения:
Верхнее меню на нашей форме это компонент «MenuStrip». На этом наша разработка приложения готова. Дальше попробуйте самостоятельно улучшить свое приложение.
Исходники готового приложения можно скачать по ссылке.
Решение проблем совместимости Microsoft Access 2019 и Visual Studio 2022:
Голосуй (33 Голосов) |
VK
-
Виктор Черемных -
2 марта, 2019 -
113 Comments
113 ответов к “Работа с базой данных в C#”
2iz2пишет:
20.11.2021 в 20:53
Здравствуйте, находит только 1 модификатор, что делать?
System.Windows.Forms.DataGridView dataGridView1;
testDataSet testDataSet;
System.Windows.Forms.BindingSource contactsBindingSource;
testDataSetTableAdapters.contactsTableAdapter contactsTableAdapter;
21 Голосуй |
ОТВЕТИТЬ
Олесяпишет:
24.11.2021 в 21:11
Спасибо большое автору! Отлично написано, все получилось сделать и понятно объяснено.
11 Голосуй |
ОТВЕТИТЬ
Августпишет:
08.02.2022 в 12:29
Огромное спасибо!!!!!!!!!!!!!!!!!!!!!!!!!!
12 Голосуй |
ОТВЕТИТЬ
Нурислампишет:
18.04.2022 в 08:32
Спасибо автору
00 Голосуй |
ОТВЕТИТЬ
← Предыдущие комментарии
Добавить комментарий
Начало формы
Ваш адрес email не будет опубликован. Обязательные поля помечены *
Комментарий *
Имя *
Email *
Сайт
Конец формы
Группа в VK
Обнаружили опечатку?
Сообщите нам об этом, выделите текст с ошибкой и нажмите Ctrl+Enter, будем очень признательны!
Свежие статьи
Установка Windows рядом с Linux
05.05.2023
Установка Linux Mint рядом с Windows
24.03.2023
#11. Работа с плагина в Moodle
18.03.2023
#15. Оформление таблиц в CSS
08.03.2023
#14. Оформление изображений в CSS
06.03.2023
Облако меток
Android (10) Assembler (23) C# (31) C++ (20) CSS (49) Debian (75) django (8) Excel (20) firewalld (7) HTML (29) Impress (14) JavaScript (25) LibreOffice (65) Linux (160) Mac OS (7) Microsoft Office (106) mikrotik (18) Moodle (11) MS Access (18) MS PowerPoint (26) MySQLi (38) PHP (41) Python (58) SQL (50) tkinter (13) Windows (109) Windows Server (22) WORD (42) wordpress (9) Writer (41) XAMPP (44) БД (58) Видеоуроки (18) Вирусы (17) Защита (80) Информационная безопасность (111) МойОфис (13) ОС (133) Основы программирования (33) СУБД (46) Сетевые технологии (89) Сеть (88) Си (12) Языки программирования (217) хакинг (10)
PrevПодключение CSS
Преимущества и недостатки стилейNext
Похожие статьи
Entity Framework
ADO.NET Entity Framework (EF) — объектно-ориентированная технология доступа к данным, является object-relational mapping (ORM) решением для .NET Framework от Microsoft. Предоставляет возможность взаимодействия с объектами
Голосуй (2 Голосов) |
Создание сканера портов
В прошлой статье «Сокеты в C#» мы познакомились с сокетами и подробно рассмотрели классы для работы с ними. В этой статье мы разработаем простое приложение
Голосуй (3 Голосов) |
Сокеты в С#
Сокет — это один конец двухстороннего канала связи между двумя программами, работающими в сети. Используя два сокета, можно передавать данные между разными процессами (локальными или
Голосуй (1 Голос) |
Пространство имен System.Net.
В этой статье коротко поговорим о пространстве имен System.Net и некоторых его классах. В последующих статьях будем рассматривать другие его классы. Пространство имён System.Net содержит
Голосуй (1 Голос) |
Instagram Vk Youtube Telegram Odnoklassniki
Главная
-
Новости -
О проекте -
Фотогалерея -
Рекомендуем -
Контакты
Полезно знать
-
Полезные программы -
Социальная инженерия
Рубрики
-
HTML -
CSS -
Windows -
Mac OS -
Linux -
Android
-
MS Excel -
MS Word -
MS PowerPoint -
MS Access -
Adobe Illustrator -
Сетевые технологии -
Основы программирования -
Информационная безопасность
-
PHP -
JavaScript -
SQL -
Си -
C++ -
Assembler -
Python -
Библиотека Tkinter -
Фреймворк Django -
C# -
Wordpress
Авторы
-
Виктор Черемных -
Данил Товстолуцкий
© it-black.ru | 2016 - 2023
https://intuit.ru/studies/courses/1000/220/lecture/5670?page=1
https://vk.com/video-142292681_456239211
https://metanit.com/sharp/net/4.4.php