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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 15.11.2007, 18:50   #31
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Переделываем:
Код:
procedure TForm1.Button3Click(Sender: TObject);
begin
//смотрим
Rabotniki.Close;
Rabotniki.sql.Text:='select * from Rabotniki order by Tabnum';
Rabotniki.Open;
...
//изменяем
Rabotniki2.Close;
Rabotniki2.sql.Text:='update Rabotniki set.........';
Rabotniki2.ExecSQL;
//смотрим результат изменений
Rabotniki.Close;
Rabotniki.Open;
end;
mihali4 вне форума
Старый 15.11.2007, 18:53   #32
dron-s
Форумчанин
 
Регистрация: 04.03.2007
Сообщений: 615
По умолчанию

смотри, у тебя две кнопки и два кверика (первый для выборки, второй для редатирования)
на пером батоне пишем:
Query1.sql.add('select * from rabotniki order by name');
отсортированли по имени...
далее, нам надо изменить фамилию Екатерину Пупкину на Екатерину Зайцеву... сделать это можно через запрос updete по ID
к примеру, ID нашей записи 8
запрос будет следующий
Query2.sql.add('update sotrudniki set fio='Екатерина Зайцева' where id=8');
делаем ExecSQL и переоткрываем запрос у первого кверика у которого в SQL написано select * from rabotniki order by name'

общая картина такова
Query1.close;
Query1.sql.clear;
Query1.sql.add('select * from rabotniki order by name');
Query1.open;
Query2.close;
Query2.sql.clear;
Query2.sql.add('update sotrudniki set fio='Екатерина Зайцева' where id=8');
Query2.ExecSQL;
Query1.Open;
dron-s вне форума
Старый 15.11.2007, 18:53   #33
Constellation
Пользователь
 
Регистрация: 14.11.2007
Сообщений: 61
По умолчанию

mihali4, Бог с ней с этой строкой, удалю я ее, главное, у меня сортировка не работает!
Constellation вне форума
Старый 15.11.2007, 19:05   #34
Constellation
Пользователь
 
Регистрация: 14.11.2007
Сообщений: 61
По умолчанию

СПАСИБО!!!!!! Заработала!!! =) С меня пиво
Constellation вне форума
Старый 15.11.2007, 21:53   #35
Constellation
Пользователь
 
Регистрация: 14.11.2007
Сообщений: 61
По умолчанию

Простите, рано радовалась... редактирование-то так и не работает))) Сами попробуйте по этому запросу, после нажатия на кнопку сортировки что-нибудь сдулать с таблицей... у меня не получилось(
Constellation вне форума
Старый 15.11.2007, 22:09   #36
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Нет, меня просто убивает такая конструкция:
Цитата:
Query1.sql.clear;
Query1.sql.add('select * from rabotniki order by name');
Ну ведь проще же:
Query1.sql.Text:='select * from rabotniki order by name';
mihali4 вне форума
Старый 15.11.2007, 22:21   #37
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от Constellation Посмотреть сообщение
Простите, рано радовалась... редактирование-то так и не работает))) Сами попробуйте по этому запросу, после нажатия на кнопку сортировки что-нибудь сдулать с таблицей... у меня не получилось(
На форме - Query1, Query2, DataSource1, Button1, Button2, DBGrid.
Используем DBDEMOS.
По Button1:
Код:
Query1.Close;
Query1.SQl.Text:='select * from country order by capital';
Query1.Open;
В DBGrid - отсортировано по столицам.
По Button2:
Код:
Query2.Close;
Query2.SQL.Text:="update country set capital='Bagota mod' where capital='Bagota'";
Query2.ExecSQL;
Query1.Close;
Query1.Open;
В DBGrid - 'Bagota mod' вместо 'Bagota'.
Что вы там такое делаете?
mihali4 вне форума
Старый 15.11.2007, 22:49   #38
Constellation
Пользователь
 
Регистрация: 14.11.2007
Сообщений: 61
По умолчанию

Я понимаю, что вы меня уже скоро побьете, но не так оно все работает, как должно! Во всех примерах (и у меня в книге в том числе), используется после update поле set, а если у меня просто дан список сотрудников с полями TabNum, Fio, Name, Otch and etc., причем эта таблица повязана с другой, с таблицей дети (по таб. номеру) На форме располагается 2 кнопки. Пока не нажата сортировка я могу свободно изменять какие угодно данные в исходной таблице. Как только я запускаю режим сортировки, она происходит, но таблица становится фиксированной, я уже не раз говорила. Мне нужно просто отсортировать по таб. ном., но таким образом, чтобы пользователь мог щелкнуть на нужном поле и мог изменить данные... Я не понимаю, что в set вносить, если тут могут быть любые данные из таблицы.
Constellation вне форума
Старый 15.11.2007, 23:25   #39
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Ну вот, один из простейших вариантов.
Параллельно с Query1 работает Query2, но у нее в запросе нет "ORDER BY".
На Query2 висят DBEdit-ы на каждое поле.
На DBGrid1CellClick:
Query2.Locate('Tabnum',Query1.Field ByName('Tabnum').Value,[]);
После редактирования (в DBEdit-ах!!! DBGrid такого не позволит!) жмем кнопку "сохранить":
Query2.Post;
Query1.Close;
Query1.Open;
И... любуемся отредактированными записями.
mihali4 вне форума
Старый 16.11.2007, 06:26   #40
dron-s
Форумчанин
 
Регистрация: 04.03.2007
Сообщений: 615
По умолчанию

Цитата:
Ну ведь проще же:
Query1.sql.Text:='select * from rabotniki order by name';
называется найди пять отличий
dron-s вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
возможна ли быстрая загрузка в WebBrowser? furstenberg Работа с сетью в Delphi 10 09.01.2008 02:33
Возможна ли обработка двойного щелчка мышью на кнопке (TButton)? Brother Win Api 3 04.12.2007 08:32
Возможна ли рекурсия в запросах eremin БД в Delphi 0 23.05.2007 15:54