|
Две записи вместо одной
|
|||
---|---|---|---|
#18+
Уважаемые мастера, я столкнулся с такой проблемой: Я использовал компоненты(Delphi 5) Database,Session,DataSourse,Table для подключения таблицы MS SQL 7. Все данные этой таблицы я вывожу в DBGride.И все было бы нормально, но когда я вставляю запись, редактирую её и потом нажимаю на кнопку Post(DBNavigator) у меня появляется вторая запись идентичная вставленной(причем эта запись исчезает, когда я нажимаю на кнопку Refresh на Навигаторе). Как от неё избавиться программно, чтобы не пугать пользователя. Помогите, пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2002, 08:35 |
|
Две записи вместо одной
|
|||
---|---|---|---|
#18+
Конечно с такой проблемой не сталкивался, но однозначно не хорошо использовать TTable ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2002, 12:45 |
|
Две записи вместо одной
|
|||
---|---|---|---|
#18+
Конечно с такой проблемой не сталкивался, но однозначно не хорошо использовать TTable С чего это вдруг? А для какой цели тогда нужен этот компонент? Очень он хорош для небольших справочников, классификаторов и т.д. Проблема возникает в следующих случаях: 1. если в данной таблице нет первичного ключа 2. если первичным ключем является IDENTITY 3. если в TTable выставлены в IndexFieldName (или IndexName) поля, совокупность которых не является уникальным индексом. Пример: есть два поля - NOM int primary key,NAME varchar(50). Если указать в IndexFieldName поле NAME, то описанный клюк может иметь место, нужно ставить связку NAME;NOM. Хотя пользуюсь теперь Delphi6+SQL2000+ADO и этих глюков нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2002, 16:37 |
|
Две записи вместо одной
|
|||
---|---|---|---|
#18+
Этот компонет создан для работы с локальными база а не для работы с SQL сервером. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2002, 18:28 |
|
Две записи вместо одной
|
|||
---|---|---|---|
#18+
Согласен с Tаrantino. Тут дело даже не в глюках с "двойным" отображением. Когда в MS SQL напрямую редактируется таблица, на нее накладываются самые жесткие блокировки, т.е. другой клиент не может даже читать эту таблицу. Реальный случай. Переписывали мы одну прогу на работающей базе и для скорости сделали справочник по TABLE. Мой коллега, начинающий программист, начал редактировать поле, но его срочно вызвали в цех, он закрыл кабинет и ушел. Потом пошел на обед, потом в другое место. А я тоже ползал по разным местам. В результате склад стоял три часа. Больше я за скоростью и простотой разработки таким образом не гонюсь. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2002, 22:32 |
|
Две записи вместо одной
|
|||
---|---|---|---|
#18+
Когда в MS SQL напрямую редактируется таблица, на нее накладываются самые жесткие блокировки Если кто работал в SQL6.5, то сие высказывание есть чистая правда. Там все друг друга вешали беспрестанно. В семерке стало полегче, а в 2000 бывает такое раз в пятилетку. Механизм блокировок значительно продуманее стал. "Смертельные объятия" между процессами почти не возникают. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2002, 11:48 |
|
Две записи вместо одной
|
|||
---|---|---|---|
#18+
Приятно знать , что SQL6.5-BDE не один долбился. Transact SQL - это супер. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2002, 06:09 |
|
Две записи вместо одной
|
|||
---|---|---|---|
#18+
To ~Bazul~ Какая разница, все равно ходить на SQL Server через BDE да еще и через TTable - это садомазохизм. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2002, 11:33 |
|
Две записи вместо одной
|
|||
---|---|---|---|
#18+
to Tygra продолжая твою логическую цепочку можно сказать, что и работа с базами в Delphi 1,2,3,4,5 - садомазохизм вдвойне. Реально работающие компоненты ADO появились только в шестерке. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2002, 12:51 |
|
Две записи вместо одной
|
|||
---|---|---|---|
#18+
Кстати я с 1996 по 2002 работал в связке DELPHI/BDE/SQL65 и на самом деле проблем не испытывал! з.ы. Временно DELPHI/BDE/ORACLE а в планах DELPHI/ODAC/ORACLE ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2002, 18:13 |
|
Две записи вместо одной
|
|||
---|---|---|---|
#18+
До сих пор на 5 работаю с MS SQL через ADO, правда компоненты немного вручную написаны поверх ADO, для сервиса более лучшего. С Oracle давно через DAO работал еще. А через BDE помнится только на Interbase ходил, и то потому, что неохота было чего-то другое делать из-за пустяков. Ну а сейчас то только ADO. Или dbExpress на крайняк. В Delphi 7 теперь через него можно к SQL 2000 ходить. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2002, 10:49 |
|
Две записи вместо одной
|
|||
---|---|---|---|
#18+
Извиняюсь, к Oracle через DOA (вроде бы так) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2002, 10:50 |
|
|
start [/forum/topic.php?fid=58&tid=2119904]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
196ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 261ms |
total: | 546ms |
0 / 0 |