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

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

Клиент-сервер


Страницы:   1 2 3

RVH ©   (2006-09-02 12:10:00) 

Имел ли кто опыт работы c БД MS Access в клиент-серверных приложениях? Необходимо разработать программу тестирования на 10-15 клиентских мест, при этом все вопросы теста, а также Logи работы клиентов должны размещаться (сохраняться) в mdb на сервере (требования заказчика). Потянет ли Access это???


Antoxa2005   (2006-09-04 17:53:00) [1]

Конструкция предложенная sniknik ©

> короче
> создаем
> CREATE TABLE Table1 (ID Counter(1, 1) PRIMARY KEY, Name
> VarChar(30))
> добавляем
> INSERT INTO Table1 (ID,Name) VALUES (20, 'Test')
>
> и ничего секретного/замороченного

работает.
Т.е. хоть и на поле установлен автоинкремент, Access дает возможность, при явном указании, установить свои значения в поле, а если значение поля явно не указать, то Access инкрементирует его самостоятельно (большее+1).


Anatoly Podgoretsky   (2006-09-04 14:28:00) [2]

sniknik ©   (04.09.06 13:34) [43]
Имеется в виду, что поле будет иметь старые значения, а не новые, ведь про это речь. Я не вижу другой возможности, как залить в обычное поле, не автоинкриментное, а потом изменить на автоинкриментное - но можно ли это в Акцесс не знаю и даже пробовать не хочу.


sniknik   (2006-09-04 13:37:00) [3]

а вот изменение
UPDATE Table1 SET ID = 10 WHERE ID = 20

уже не получится, а именно это посылается при навигационных методах (Append,  :=,  Post;) похоже, потому и глюки у тех кто их использует.


sniknik   (2006-09-04 13:34:00) [4]

Anatoly Podgoretsky ©   (04.09.06 12:30) [42]
> кроме создания новой таблицы, заливки и последующего создания автоинкриментного поля
уточнение, кроме создания новой таблицы с автоинкрементнымполем, и последующим заполнением (но не изменением!)

короче
создаем
CREATE TABLE Table1 (ID Counter(1, 1) PRIMARY KEY, Name VarChar(30))
добавляем
INSERT INTO Table1 (ID,Name) VALUES (20, 'Test')

и ничего секретного/замороченного


Anatoly Podgoretsky   (2006-09-04 12:30:00) [5]

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


sniknik   (2006-09-04 12:17:00) [6]

> MS SQL при такой заливке ругается.
у mssql для этих делов есть параметр set identity off/on.

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


ANB   (2006-09-04 12:10:00) [7]


> sniknik ©   (04.09.06 12:06) [39]

MS SQL при такой заливке ругается. Там нужно явно указать, что автоинкремент ты присваиваешь сам.
Уж запостил бы правильный ответ, там наверняка нужно просто пару ключевых слов в инсерт добавить.


sniknik   (2006-09-04 12:06:00) [8]

> Если перезалить таблицу клиентов, то Access сам пронумерует а/и поле
с чего бы это? если в заливаемых данных присутствуют все поля вместе с автоинкрементом...

> следовательно мне нужны конкретные значения а/и поля залить
легко. заливай.


Antoxa2005   (2006-09-04 11:51:00) [9]


> А зачем снимать - заливай сразу ГЛАВНОЕ чтоб ID не повторялись
> - проверено РАБОТАЕТ


Структура таблицы справочник клиентов IDK, NameK, таблицы продаж IDPr,IDK, Summ.

Если перезалить таблицу клиентов, то Access сам пронумерует а/и поле, но в табол. продаж вторичный индекс уже сохранен, следовательно мне нужны конкретные значения а/и поля залить, а затем пусть Access сам номерует вновь вводимые пользователем записи.


sniknik   (2006-09-03 19:54:00) [10]

> А зачем снимать - заливай сразу ГЛАВНОЕ чтоб ID не повторялись
см. выше. не верит, думает что нужны какието тайные знания, а то что сам делает неправильно даже мысли не допускает.


Silver...   (2006-09-03 19:39:00) [11]


> Я говорю про то, что в Access существует значительный недостаток.
>   Невозможно снять автоинкрементс поля залить данные в таблицу
> и установить, автоинкрементна поле снова, что бы дальнейшая
> работа пошла в "штатном" режиме.


А зачем снимать - заливай сразу ГЛАВНОЕ чтоб ID не повторялись - проверено РАБОТАЕТ


Anatoly Podgoretsky   (2006-09-03 14:53:00) [12]

DrPass ©   (03.09.06 01:18) [34]
Исполнено + аудит многих мест  (что бы знать кого бить)


DrPass   (2006-09-03 01:18:00) [13]

... другое дело, что приложение должно в этом случае запрещать удалять записи о работниках. Во всяком случае, бухгалтерам.


Anatoly Podgoretsky   (2006-09-03 01:10:00) [14]

Соловьев ©   (02.09.06 20:55) [32]
Естественно, при удалении работника должна быть удалена вся связанная с ним информация. Это как раз нормально. А вот восстановление с кучей связаных ИД это ужас.


Соловьев   (2006-09-02 20:55:00) [15]


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

Это каскады сработали?


Anatoly Podgoretsky   (2006-09-02 16:14:00) [16]

Antoxa2005   (02.09.06 16:07) [28]
Он так просто не отстанет.


Antoxa2005   (2006-09-02 16:09:00) [17]

Да весело, но надо иногда и спать...


sniknik   (2006-09-02 16:07:00) [18]

мечты...


sniknik   (2006-09-02 16:07:00) [19]

Antoxa2005   (02.09.06 15:35) [21]
> Ну, подскажи, как они это предусмотрели?
где ты видиш код до этого, или чтото конкретное? ветка "трепальная" по моим категориям, а я отвечаю в унисон ветке... обычно, (очень стараюсь), т.е. ты мне свой "наезд" без всякой конкретики, я тебе такоеже опровержение.... мило, абстрактно беседуем... зачем же "кайф ломать" грубой реальностью?

Anatoly Podgoretsky ©   (02.09.06 15:48) [23]
ну тут у нас вопрос не о системе в общем, а о возможности восстановить автоинкрементные значения из другой таблицы.

> Невозможно снять автоинкремент с поля залить данные в таблицу и установить,
> sniknik ©
> пишет, что это делается и при чем легко, но как не сообщает.
нет я говорил не так, читай оригинал, и передергивай. [11]
>> Да, а ты попробуй восстановить информацию в пустую таблицу с нужными значениями ключей.
> легко. ...
про изменения был другой ответ.


Antoxa2005   (2006-09-02 16:07:00) [20]

Ладно, отключаюсь, а то sniknik © исчез.


Страницы:   1 2 3

Наверх

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