![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Удаление строки в 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]Удалено модератором