Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.03.2012, 02:13   #1
11shepard11
Новичок
Джуниор
 
Регистрация: 25.03.2012
Сообщений: 2
По умолчанию Обновление только одной строки из базы

Здраствуйте. У меня такой вопрос.
Как обновить только одну строку из базы?
Я изменяю информацию в одной из ячеек datagrida через текстбокс, но изначально не знаю какую. А запрос помещаю под кнопку. Как сформировать запрос?
Может быть как-то можно получить название колонки с выделенной (или изменённой ячейки)??

может быть можно вот так:

UPDATE table SET (name=@p1, ...) WHERE (выделенная ячейка(изменённая) = textbox1.text)
тогда как получить информацию об изменённой или выделенной ячейке?
11shepard11 вне форума Ответить с цитированием
Старый 25.03.2012, 05:31   #2
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Правило обязательное для исполнения при разработке любой базы данных:
В каждой таблице БД должен быть столбец, который содержит идентификационный номер, однозначно определяющий строку таблицы.
Это в большинстве случаев целое число, значение которого автоматически генерит сервер СУБД и значение которого уникально для каждой строки.

Тогда не нужно мудрить с тем как определить в какой строке надо сделать обновление.
В datagrid (наверное, это DBGrid) данные из базы поставляются через запрос (SELECT). Этим, как правило, занимается компонент с общим названием Query.
При условии, что уникальный идентификатор в таблице есть, а datagrid связан с данными из базы через Query, то узнать какая строка должна быть модифицирована в таблице не составит труда.

Т.к. автор не привел никакой дополнительной информации (какой язык, какая СУБД, какие и как компоненты для доступа к данным используются), то детальный ответ тоже не получится.
Прик вне форума Ответить с цитированием
Старый 25.03.2012, 10:33   #3
11shepard11
Новичок
Джуниор
 
Регистрация: 25.03.2012
Сообщений: 2
По умолчанию

Пишу на C#. Данные отображаю через DataGrid.
И изначально я не знаю, какую я хочу отредактировать ячейку и в какой строке, а запрос на обновление у меня по кнопке стоит. Поэтому я не знаю как указать в запросе ту строку, в которой изменения произошли.

Вот код моего SQl запроса - он обновляет все строки (и они все одинаковые становятся)

UPDATE Cart
SET Номер_договора = @p2, Фамилия = @p3, Имя = @p4, Отчество = @p5, Дата_рождения = @p6, Адрес_проживания = @p7, Гражданство = @p8,
Стаж_работы = @p9, Отдел = @p10, Должность = @p11

А вот фото формы, где я изменяю данные.
http://s2.ipicture.ru/uploads/20120325/3n0yxz7U.jpg
11shepard11 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обновление сводных таблиц одной кнопкой! masterenergy Microsoft Office Excel 6 02.01.2015 16:32
как организовать автоматическое обновление базы lildare C# (си шарп) 0 06.10.2011 10:34
Builder 6.0 обновление базы 6AZblJlb Помощь студентам 1 29.05.2011 16:43
Обновление Базы Данных Владимир123421 Microsoft Office Access 1 22.04.2011 15:18
Запуск только одной копии приложения Casper-SC Общие вопросы .NET 1 18.07.2010 02:06