Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.08.12;
Скачать: [xml.tar.bz2];

Вниз

Записи в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.069 c
1-1180971219
nali
2007-06-04 19:33
2007.08.12
програмная установка midas.dll


15-1184164445
Mr. D.
2007-07-11 18:34
2007.08.12
Невероятно медленная обработка пикселей


2-1184331273
Wander
2007-07-13 16:54
2007.08.12
video в Делфи


8-1162944005
SamBrook
2006-11-08 03:00
2007.08.12
ANN - GDIplus 1.1 для Delphi


11-1166446345
AndreyRus
2006-12-18 15:52
2007.08.12
Ошибка обработчика события OnDestroy





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский