Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.12;
Скачать: CL | DM;

Вниз

Записи в DBGrid e странным образом исчезают.   Найти похожие ветки 

 
Kolan ©   (2007-07-17 09:23) [0]

Здравствуйте,
 Сиптомы такие.
1. Становлюсь на последнюю запись.
2. Жму вниз — появляется новая строка.
3. Ввожу данные
4. Перехожу на строку выше, и&#133

Только что введенная строка появляется в самом верху грида вместо той что там была до этого.
Если снова спустить на последнюю строку, и нажать вниз(те снова добаить новую запись), то добавленая на шагах (1-4) запись исчезает, а появляется та что там была ранее.

Причем в БД добавляется все правильно и нормально. Сам DataSet — TQuery — это простой SELECT FROM TABLE больше ничего.

Что за странность? Как исправить?

ЗЫ
 Компоненты стандартные, Delphi 7.


 
iXT ©   (2007-07-17 09:26) [1]

Сдается мне, дело в индексах. Сортировка по ним идет.


 
Kolan ©   (2007-07-17 09:27) [2]

> Сортировка по ним идет.

Как и где уточнить так ли это?

Используется MSSQL Server 2000


 
Kolan ©   (2007-07-17 09:34) [3]

А вот если вставить в середине запись и сместиться вниз, то эта нижняя строка исчезнет. При добавлении новой записи она вернётся на прежнее место, а только что вставленое опять исчезнет.

И кроме того все вставленые строки добавляются вниз таблицы в БД.


 
iXT ©   (2007-07-17 09:58) [4]

??? :(
А как втавляешь, хотя тут что то с отображением. Попробуй порыться в свойствах DS


 
MsGuns ©   (2007-07-17 10:18) [5]

Подобная сугубо "локальная" технология редактирования инф-ции в БД чревата для неискушенного программиста массой непоняток, недоразумений и конфузов.


 
Kolan ©   (2007-07-17 10:28) [6]

> Попробуй порыться в свойствах DS

Да рылся, я ж не зря в начинающих запостил :(

А как втавляешь
SELECT CDTARIFROW, RGOD, RMES, CDLPU, CDOTD, CDPROF, SPECCOD, TARIF, ZARPL, MEDIK, PIT, PITR, KOSV, NAKL, VIDP, NORM, FACT
FROM dbo.TARIFROW


И ResuestLive у TQuery


 
Kolan ©   (2007-07-17 10:29) [7]

> Подобная сугубо «локальная» технология редактирования инф-
> ции в БД чревата

А как надо?


 
sniknik ©   (2007-07-17 10:39) [8]

> Что за странность? Как исправить?
использовать датасет с возможностью локальной сортировки, ее и установить "по вкусу" (типа например при добавлении записи сортируемому полю присваивать возрастающее значение, тогда запись останется в конце)

> И ResuestLive у TQuery
BDE? ну ичего же вы хотели когда его использовали?

> А как надо?
а как удобнее так и надо. но рекомендуют делать формочку на добавление, зачастую такой способ только замедляет ввод.


 
Kolan ©   (2007-07-17 10:54) [9]

> BDE? ну ичего же вы хотели когда его использовали?

Ну это вопрос к начальнику моему, но задавать я его не буду&#133

> но рекомендуют делать формочку на добавление

Удобнее редактировать прям Grid, так как пользователь вводит данные с бумажки, а на бумажке такая(примерно) же таблица&#133 Так что формочка — не катит&#133


 
Desdechado ©   (2007-07-17 11:05) [10]

> BDE? ну ичего же вы хотели когда его использовали?
Сколько пользовал, подобных глюков в подобных случаях не замечал, все было корректно. Хотя добавление строк и редактирование прямо в гриде практикую крайне редко.


 
sniknik ©   (2007-07-17 11:20) [11]

> Ну это вопрос к начальнику моему, но задавать я его не буду…
как много начальства которое говорит не что делать, а как делать и что использовать...
ну вот и подойди к нему с вопросом из топика, спроси "как?" (может он за него держится потому, что хорошо его знает, и знает как это исправить).

> Сколько пользовал, подобных глюков в подобных случаях не замечал, все было корректно. ...
для файл серверной базы открой таблицей и сделай активный индекс по полю с аналогичным приращением. будет тоже самое, нормально.
что сдесь не тоже самое так это, как сделать индекс на временной таблице которую получили от запроса... (не, можно ее конечно записать локально, а изменения с нее в mssql делать самому, но это куча лишних действий. ну его нафиг)


 
sniknik ©   (2007-07-17 11:22) [12]

Desdechado ©   (17.07.07 11:05) [10]
ты кстати уточни "Сколько пользовал" это сколько? считая только клиент серверные базы.


 
Desdechado ©   (2007-07-17 11:28) [13]

Пользовал года 3 с FireBird. В основном, конечно, через UpdateSQL, но были и живые с прямым редактированием в гриде (преимущественно справочники).


 
Kolan ©   (2007-07-17 11:37) [14]

> может он за него держится потому, что хорошо его знает,
> и знает как это исправить

Незнает, я бы не спросил тут если бы мне ответили&#133


 
sniknik ©   (2007-07-17 12:52) [15]

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


 
Kolan ©   (2007-07-17 13:04) [16]

> попробуй на чистом проекте

1. Новый проект.
2. Кинул DataSource и Query. Из того проекта скопировал Базу(TDateBase).
3. Все поподключал друг к другу.
4. Настроил ReuestLive

5. Все тоже самое&#133
Может с таблицей что не так?


 
sniknik ©   (2007-07-17 13:18) [17]

а автоинктемент/ключ у тебя в таблице/запросе есть?
поставь AutoRefresh в труе (хз. может не считывает, а сортировка по нему), и апдейте модель еще поставь в upWhereKeyOnly (это в принципе не должно зависеть но обновления по ключу быстрее)

> Может с таблицей что не так?
ну так проверь на других...


 
Kolan ©   (2007-07-17 13:41) [18]

Показали как сделать с UpdateObjcet. Вроде нормально стало работать&#133



Страницы: 1 вся ветка

Текущий архив: 2007.08.12;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.031 c
15-1184416042
de.
2007-07-14 16:27
2007.08.12
Ломится.


15-1184597966
TStas
2007-07-16 18:59
2007.08.12
Длинные ветки в поболталовке


2-1184408740
Knob
2007-07-14 14:25
2007.08.12
Помогите! Как написать простой AI


15-1184552746
Slider007
2007-07-16 06:25
2007.08.12
С днем рождения ! 16 июля 2007 понедельник


15-1183988952
Gydvin
2007-07-09 17:49
2007.08.12
Поиск