Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.51/47: Рейтинг темы: голосов - 47, средняя оценка - 4.51
0 / 0 / 1
Регистрация: 18.11.2010
Сообщений: 38

Привязка данных к textbox

12.06.2011, 21:55. Показов 9965. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

Имеется форма с датагридом, в котором с помощью запроса отобраются данные из двух таблиц БД Access.
Первая таблица "Сотрудники" содержит поля ID, Name, PostID, Phone. Вторая таблица "Должности" - PostID, JobTitle. Связь по PostID. Соотественно в датагриде отображаеются поля Name, JobTitle, Phone.

На форме также есть 2 кнопке - Добавить и Изменить. С кнопкой добавить вроде как разобрался. При ее нажатии появляется форма с двумя textbox и одним combobox. В combobox при открытии формы с помощью запроса вписываются имеющиеся в таблице "Должности" JobTitle, своего рода справочник, должности не меняются. Далее пользователю необходимо заполнить тексбоксы - Имя и номер телефона, нажать сохранить, данные заносятся в БД и обновляются в датагриде.

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

Так понимаю можно использовать одну форму для добавления и изменения данных?

Заранее благодарен!
С уважением, Павел.

Добавлено через 3 часа 47 минут
С текстбоксами более менее ясно, делаю так:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
string strQuery = "SELECT EmployeeID, FullName, JobTitle, PhoneNumber FROM tblEmployees, tblOfficers WHERE 
 
tblOfficers.PostID=tblEmployees.PostID";
 
clsConnection.objConnection.Open();
 
OleDbDataAdapter adapter = new OleDbDataAdapter(strQuery, clsConnection.objConnection);
 
DataSet dataSet = new DataSet();
 
adapter.Fill(dataSet, "tblEmployees");
 
txtName.DataBindings.Add("Text", dataSet, "tblEmployees.FullName");
 
txtPhoneNumber.DataBindings.Add("Text", dataSet, "tblEmployees.PhoneNumber");
 
clsConnection.objConnection.Close();
Но это опять же касаясь первой записи, т.е. нужно еще отследить строку которую надо редактировать.

Вот как быть с комбобоксом, в которой нужно загрузить текущую должность сотрудника плюс возможность изменения должности? И как выбирать в гриде нужную строку для редактирования?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.06.2011, 21:55
Ответы с готовыми решениями:

Привязка combobox и textbox к базе данных
Здравствуйте! Пишу программу с одной базой данных, в которой несколько таблиц. Хочу вводить данные в них с одной формы не зависимо друг от...

Привязка к TextBox
хочу просто привязать к TextBox-у и выскакивает ошибка, кто может помочь? private void...

Привязка textbox и БД
Добрый день, подскажите как сделать привязку textbox к БД Чтобы сообщения которые появлялись в textbox заносились сразу в dataGridView1...

6
0 / 0 / 0
Регистрация: 04.06.2011
Сообщений: 11
12.06.2011, 22:18
у датагрида есть событие
selectionchanged
по этому событию ты выбираешь номер строки
C#
1
int номерстроки = dataTable1DataGridView.SelectedCells[0].RowIndex;
и в идеале ты должен выбрать ID строки... он будет использоваться для сохранения изменений.. изменения сохранять можно через oledbcommand...
0
0 / 0 / 1
Регистрация: 18.11.2010
Сообщений: 38
12.06.2011, 23:07  [ТС]
Т.е. на форме где находится грид создать событие
C#
1
2
3
4
void dataGridView_selectionchanged(...)
{
     int NumberRow = dataTable1DataGridView.SelectedCells[0].RowIndex;
}
?
0
0 / 0 / 0
Регистрация: 09.06.2011
Сообщений: 3
13.06.2011, 03:53
Владимир, я в языке ничего не соображаю, не могли бы вы помочь мне с моей проблемой в тебе что находится над вашей. Еще был бы очень благодарен за код, с помощью которого вы уже в программе добавляете данные в бд. Заранее спасибо
0
0 / 0 / 0
Регистрация: 04.06.2011
Сообщений: 11
13.06.2011, 13:23
Цитата Сообщение от pavelnt Посмотреть сообщение
Т.е. на форме где находится грид создать событие
void dataGridView_selectionchanged(...)
{
int NumberRow = dataTable1DataGridView.SelectedCells[0].RowIndex;
}
?
да ты найдешь номер строки...
а вообще кинь на форму label да и присваивай лабелу номер строки... и проверяй.. все норм нет...
0
0 / 0 / 1
Регистрация: 18.11.2010
Сообщений: 38
13.06.2011, 14:16  [ТС]
Да, спасибо, таким вот образом наблюдаю за изменение номера строки в datagrid:

C#
1
2
3
4
5
private void dataGridViewEmployees_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            int num = dataGridViewEmployees.SelectedCells[0].RowIndex;
            label1.Text = num.ToString();
        }
Cледующий вопрос, как зная номер выделленой строки, по нажатию на кнопку открыть другую форму, в которой данные из строки привязаны к контролам (textbox, combobox)?
0
 Аватар для LMM
56 / 56 / 2
Регистрация: 17.02.2011
Сообщений: 234
Записей в блоге: 10
26.06.2011, 20:34
pavelnt, у тебя есть переменная "num" с помощью которой ты сможешь отфильтровать БД. Просто на следующей форме у тебя должно быть прописано подключение к БД и SELECT команда по переменной num. Честно хз как это на C# написать, но на VB можно так:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Dim conString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Обсалютный_путь\Имя_БД.mdb"
Dim con As New OleDb.OleDbConnection(conString)
Dim command As New OleDb.OleDbCommand("SELECT [Имя_Столбца], [Имя_Столбца1], [Имя_Столбца2] FROM [Имя_Таблицы] WHERE ([Имя_столбца] = '" + num + "')", con)
try
con.Open()
Dim DataReader As OleDb.OleDbDataReader = command.ExecuteReader
DataReader.Read()
Textbox1.Text = DataReader("Имя_толбца").ToString
.....
Catch ex As Exception
End Try
Может это тебе поможет... больше способов я не знаю
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.06.2011, 20:34
Помогаю со студенческими работами здесь

Привязка TextBox к DataRow
Есть форма для редактирования строки данных. Сейчас передаю в неё BindingSource из основной формы и привязываю textbox-ы к нему. В них...

Привязка textBox's к объекту DataTable
Доброго времени! Такой вопрос: есть на форме несколько текстбоксов, нужно их заполнить данными из объекта DataTable. Данные были...

Привязка полей из бд access к textbox
Доброго времени суток форумчане! проблема для кого то пустяшная, а я на нее неделю потратил: не могу данные через тексбокс забить в базу....

Привязка textBox к объекту DataTable к конкретной строке
Доброго времени суток! Делаю привязку textBox'а (seme1) к полю (rati_sem1) DataTable (dtRatinSemYear): seme1.DataBindings.Clear(); ...

Привязка полей базы аксес к textbox в visual studio 2010
Как прикрутить поля базы к проекту си шарп C# Windows Form, именно не в виде таблиц на форме, а отдельное поле к отдельному текстбоксу, а...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru