Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Поиск в бд для редактирования


Автор: kartoshkins 19.3.2010, 23:16
delphi 7 mssql 2000 компоненты dbe

Есть таблица Qwerty в каторой 1000 записей:

id |pol
1 |M
2 |Z
3 |M
4 |Z
5 |Z

 нужно вывести на экран записи где пол равен М
создаю соответствующий запрос через query1 (select * from qwerty where pol = 'M') и вывожу результат в dbgrid через Query1.Open; 

В дбгрид появляется 300 записей где пол = М
Эти значения нельзя редактировать ,только читать
Как сделать так чтобы поля в сформировавшемся дбгриде можно было редактировать?

или придется отображать все 1000 записей и делать поиск в самом дбгриде?
подскажите плиз

Автор: Frees 19.3.2010, 23:28
Код

query2 (update qwerty set pol = :pol where id = :id) 
query2.paramByname('pol').asstring := 'Ж';
query2.paramByname('id').Value  :=query1.FieldByName('id').Value;
query2.execsql;

Автор: kartoshkins 19.3.2010, 23:34
тоетсь только программным путем ?
через Дбгрид никак не полчучится менять данные?раньше когда дбгрид с TTable соединял можно было так редактировать.


Еще вопрос, например я тыкнул в дбгриде на 5 строку,как вывести на экран все значения отой строки?


Автор: Frees 19.3.2010, 23:38
Цитата(kartoshkins @  20.3.2010,  02:34 Найти цитируемый пост)
Еще вопрос, например я тыкнул в дбгриде на 5 строку,как вывести на экран все значения отой строки?


query1.FieldByName('id').asString - доступ к текущей строке id  имя поля

Автор: Vas 22.3.2010, 15:12
TUpdateSQL  в помощь вам, если все правильно свяжете, то сможете редактировать прямо в гриде.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)