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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.09.2009, 20:24   #1
Potrashitel
 
Регистрация: 01.09.2009
Сообщений: 9
По умолчанию SQL

Люди не бейте пожалуйста за нуубский вопрос
Вот я выполняю SQL:
Select a,b,c from d
Order By a DESK

А теперь мне надо поменять размеры ширины полей в TDGrip и сохранить
Пишет что он не в update mode
Как мне сделать это?
Potrashitel вне форума Ответить с цитированием
Старый 12.09.2009, 23:40   #2
АНК
Пользователь
 
Регистрация: 01.09.2009
Сообщений: 30
По умолчанию

Цитата:
размеры ширины полей в TDGrip
Ничего не понял! Может быть TDBGrid? Или имеется ввиду изменеие структуры таблицы?
Цитата:
Пишет что он не в update mode
Поясните!
АНК вне форума Ответить с цитированием
Старый 13.09.2009, 10:07   #3
Potrashitel
 
Регистрация: 01.09.2009
Сообщений: 9
По умолчанию

Цитата:
Сообщение от АНК Посмотреть сообщение
Ничего не понял! Может быть TDBGrid? Или имеется ввиду изменеие структуры таблицы?
Поясните!
Да TDBGrid извините ошибся, нужно изменить структуру и сохранить,чтобы при сл открытии так и осталось.
Пишу Query1.Edit;
Пишет "Cannot modify a read-only dataset"
Вот SQL
select Номер,Название,Статус from Solution
Order by Номер
Potrashitel вне форума Ответить с цитированием
Старый 13.09.2009, 11:32   #4
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

ты в рантайме собираешься менять запрос?
тогда чтобы изменения запомнились и при след.загрузке/запуске проги нужно реализовывать сохранение/загрузку запроса извне (ини-файлы, БД и т.п.)
а так без доп.обработки чтобы в рантайме поправить запрос и потом его же увидеть в дезигн-тайме не получится

одноразовая правка будет выглядеть так
Код:
if Query1.Active then
  Query1.Close;
Query1.SQL.Text:= 'select ....';
Query1.Open;
soleil@mmc вне форума Ответить с цитированием
Старый 13.09.2009, 20:29   #5
АНК
Пользователь
 
Регистрация: 01.09.2009
Сообщений: 30
По умолчанию

Potrashitel, ширинна столбца в TDBGrid изменяется во время выполнения программы не путем изменеия структуры таблицы! А делается так (индекс "2" взят для примера):
Код:
DBGrid1.Columns.Items[2].Width:= N;
// где N ширина столбца в пикселях
Если величину N запрмнить в INI-файле, то при следующем запуске программы можно сразу изменить ширину столбца.

Последний раз редактировалось АНК; 13.09.2009 в 20:32.
АНК вне форума Ответить с цитированием
Старый 13.09.2009, 20:45   #6
Potrashitel
 
Регистрация: 01.09.2009
Сообщений: 9
По умолчанию

Спасибо за ини...Просто раньше писал
Table1.Edit;
....//менял
Table1.Post;
Potrashitel вне форума Ответить с цитированием
Старый 14.09.2009, 11:44   #7
АНК
Пользователь
 
Регистрация: 01.09.2009
Сообщений: 30
По умолчанию

Цитата:
Сообщение от Potrashitel Посмотреть сообщение
Спасибо за ини...Просто раньше писал
Table1.Edit;
....//менял
Table1.Post;
А чтобы так же делать с Query1, т.е. переводить его в состояние редактирования, надо привязать к Query1 компонент TUpdateSQL и настроить его соответственно.
АНК вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SQL Ash БД в Delphi 6 26.01.2009 09:14
sql wolf950 БД в Delphi 2 29.11.2008 21:14
sql или не sql Diamand SQL, базы данных 9 18.09.2008 17:17
Запросы SQL и PL/SQL sharpest Фриланс 1 05.02.2008 18:58
SQL запрос на основе другого SQL запрса... Timoxa БД в Delphi 1 07.01.2007 18:15