Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Удаление строки в stringgrid, разные кодировки и временные файлы запросов. [D5, dBase, FoxPro, ]


Rash ©   (2002-01-28 12:15:00) 

Подскажите, пожалуйста:
if (key=VK_DELETE)
then if (shift = ([ssCtrl]))
then begin
grid.rows[grid.row].delete(grid.row)
end
else grid.Cells[grid.col,grid.row]:="";
По ctrl-Del выдается ошибка - нельзя удалить колонку или строку.
Как здесь нужно использовать Delete? Или проще переприсвоить значения в таблице? (Сетка используется для ввода перечня деталей в заказе).

И еще: могут ли быть глюки, если таблицы в разных кодировках? И как и чем можно переделать кодировку?

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

Большое спасибо, если ответите.


Rash   (2002-01-29 20:43:00) [1]

1. Спасибо за советы, приблизительно поняла, но уже жалко переделывать, все настройки сделала - осталось только удаление записей.
2. В том-то и дело, что прекрасно все работает, мне даже ничего не пришлось писать. Но мало ли что. А есть какие-нибудь программы, чтобы переделать кодировку? и вообще что-то получше, чем Database Desktop?
3. У меня даже при нормальной работе они возникают постоянно. И еще момент - по нажатию кнопки запрос работает нормально, по нажатию enter (та же процедура) пищит динамик. Причем именно при исполнении запроса (на другие события так не реагирует). Может это.


Desdechado   (2002-01-29 12:13:00) [2]

1. CachedUpdates=true + UpdateSQL
сохранение - по одной кнопке :)) отмена - откатит изменения до предыдущего сохранения всего датасета или текущей записи (как запрограммируешь)
2. различие кодировок внесет доп. трудности в настройке и поддержании работоспособности. если код пишешь внимательно, глюков не будет, но мороки больше :))
3. аварии - НП: программа выпала по Exception или резет нажал


kig   (2002-01-28 22:42:00) [3]

Ну используйте TClientDataset или TADODataset исключительно в памяти как временный кэш. Без привязки к какой-то БД. И используйте DBGrid и другие DBAware контролы, как Вам посоветовал Desdechado.


Rash   (2002-01-28 21:44:00) [4]

1. У меня с претензиями на независимость от базы во время редактирования... DBGrid, мне кажется, не очень удобен, потому что заранее неизвестно, сколько будет подчиненных записей у заказа. А записывается по нажатию одной кнопки. А по нажатию отмены - как тогда, удалять все уже введенные записи? Вообще, мне немного непонятно, как люди обычно это пишут. В бухгалтерских программах такой механизм. Но там для каждой подчиненной записи - новое окно. Где они детали хранят, пока не записана родительская запись, во временной таблице?
2. Просто у меня мои таблицы - ansi а импортированные справочники получились cpp866. Можно ли так оставить для серьезной базы?
3. А какие могут быть аварийные ситуации? запросы выполяются нормально, вроде...


Desdechado   (2002-01-28 20:54:00) [5]

1. попробуй DBGrid. не панацея, конечно, но проще работать с данными. там можно удалять из подлежащего датасета, а грид сам себя перерисует
2. глюки могут быть везде. Используй языковые настройки драйвера для своего алиаса
3. их создает БДЕ, он же и удаляет при нормальной работе. при аварийной - ручками


Rash   (2002-01-28 12:34:00) [6]

Удалено модератором


Наверх

Титульная страница Поиск, карта сайта Написать письмо