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

Вниз

Проверка данных на программе клиенте   Найти похожие ветки 

 
Макс ©   (2002-01-16 16:45) [0]

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

CREATE TRIGGER Ins_MyTable ON [dbo].[MyTable]
INSTEAD OF INSERT
AS

Insert into Transport

Select
(Select Max(MyTable_Id)+1 from MyTable), - генерится ключ
inserted.Field_A,
......
inserted.Field_Z
(select User_Id from User_List where User_Name = User), - идентификатор пользователя
GetDate(), - дата и время создания
from inserted

У меня такое ощущение что проверка сначала осуществляется на клиенте, если я прав то как можно её отключить. Доступ к БД осуществляю посредством ADO.


 
Mike_Goblin ©   (2002-01-16 17:02) [1]

Select
(Select Max(MyTable_Id)+1 from MyTable), - генерится ключ
inserted.Field_A,

Ну ты блин даешь, а если за то время между получением MAX_ID и проведением вставки другой пользователь вставит в таблицу запись?? Для генерации уникальных значений в MSSQL identity есть

Чтобы на клиенте давала NULL вставить в поле - в св-ве поля Required:=false;

А еще лучше сделать все,что надо смотреть через View, а вставку,удаление, изменение хранимыми процедурами



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

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

Наверх




Память: 0.47 MB
Время: 0.009 c
1-32262
Mewerik
2002-01-28 13:59
2002.02.11
Помогите!!!!!11


3-32132
chelobaka
2002-01-15 16:37
2002.02.11
Как избежать появления окна с запросом на ввод имени и пароля


1-32285
XX
2002-01-28 17:12
2002.02.11
Как сложить (сумировать) все ячейки определенного столбца?


1-32235
Priz_Datiy
2002-01-27 14:02
2002.02.11
Банальная работа с текстовиками и memo....


3-32167
binom
2002-01-03 15:52
2002.02.11
SDAC by CoreLab - прямой доступ к MS SQL без БДЕ, АДО и пр.