Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 SQLUpdate  [new]
Недоходящий
Member

Откуда:
Сообщений: 912
Пару вопросов.

SQLEXEC(sqlcon,'Update requests set requests.bs=1,requests.bs_user=?sotrudnik.fno where requests.sd=?request_glav.sd')
Эта строка полностью работает. Но бывает что мне нужно в requests.bs_user занести пустую строку. Это можно зделать через переменную, а можно ли эту же операуию прописать в SQLEXEC?

И вот что я случайно заметил. Когда выдаю команду SQLEXEC(sqlcon,'Update requests set requests.bs=0 where requests.sd=?request_glav.sd'),то значение requests.bs_user паралельно само становиться пустым. Почему так? Почему не может измениться только одно указанное поле?
9 авг 06, 23:11    [2985446]     Ответить | Цитировать Сообщить модератору
 Re: SQLUpdate  [new]
Aleksey-K
Member

Откуда: Москва
Сообщений: 3116
А кто у нас муж(сервер)? :)
SQLEXEC(sqlcon,[Update requests set requests.bs=1,requests.bs_user='' where
requests.sd=?request_glav.sd])

Само поле обновляется не может, но возможно в таблице requests есть триггер на UPDATE, который обновляет в том числе и поле bs_user
С уважением, Алексей
10 авг 06, 08:41    [2985887]     Ответить | Цитировать Сообщить модератору
 Re: SQLUpdate  [new]
Недоходящий
Member

Откуда:
Сообщений: 912
2 Aleksey-K

server 2000

А где этот тригер находиться и как его изменить? Я с тригерами никогда не имел дело.
10 авг 06, 09:07    [2985930]     Ответить | Цитировать Сообщить модератору
 Re: SQLUpdate  [new]
Aleksey-K
Member

Откуда: Москва
Сообщений: 3116
Откройте QA, соединитесь с сервером и выберете свою базу данных
sp_helptrigger TableName
Если будет список не пустой, то тогда можно посмотреть его код:
1. sp_helptext NameTrigger (его имя узнаете из sp_helptrigger...)
2. Откройте EM и выберет нужную таблицу и правой крысой по ней и далее All Tasks->Manage Triggers->В ComboBox выберете свой триггер.

С уважением, Алексей
10 авг 06, 09:19    [2985969]     Ответить | Цитировать Сообщить модератору
 Re: SQLUpdate  [new]
Недоходящий
Member

Откуда:
Сообщений: 912
2 Aleksey-K

Список пуст. Что мне делать? Создавать тригер?
11 авг 06, 00:50    [2990407]     Ответить | Цитировать Сообщить модератору
 Re: SQLUpdate  [new]
Aleksey-K
Member

Откуда: Москва
Сообщений: 3116
Если у вас само собой обновляется поле, которое вы не обновляете и триггера нет, то может быть другой пользователь производит обновление?
Чудес не бывает :)
С уважением, Алексей
11 авг 06, 08:08    [2990604]     Ответить | Цитировать Сообщить модератору
 Re: SQLUpdate  [new]
Недоходящий
Member

Откуда:
Сообщений: 912
2 Aleksey-K

Это я заметил в монопользовательском режиме. Открывая заявку я просмотрел через Менеджер, что оба поля изменились. И закрыв заявку, обнаружил что указанное поле изменилось, а не указанное само обновилось. Может у Вас есть еще какие нить предположение почему так работает?
11 авг 06, 11:24    [2991844]     Ответить | Цитировать Сообщить модератору
 Re: SQLUpdate  [new]
Aleksey-K
Member

Откуда: Москва
Сообщений: 3116
А посмотрите, что за команда идет на сервер при закрытии заявки.
Может в это момент и происходит обновления поля bs_user?
Проще всего это сделать через SQL Server Profiler
С уважением, Алексей
11 авг 06, 12:23    [2992447]     Ответить | Цитировать Сообщить модератору
 Re: SQLUpdate  [new]
Недоходящий
Member

Откуда:
Сообщений: 912
2 Aleksey-K

Просмотрел профайл. В bs_user показываеться что я туда заношу строку. А при закрытии нигде не указываеться изменение bs_use. Мистика какая-та.
11 авг 06, 19:43    [2995009]     Ответить | Цитировать Сообщить модератору
 Re: SQLUpdate  [new]
Aleksey-K
Member

Откуда: Москва
Сообщений: 3116
1. Запустите Profiler
2. Установите фильтр по HostName = NetBios имя вашей машины
3. Запустите свое приложение и откройте вашу форму, отредактируйте запись (без редактирование bs_use) и закройте ее.
4. Посмотрите ВСЕ команды какие посылались с вашей станции.
5. Там должна быть команда обновления поля bs_use или вызов хранимой процедуры, которая обновляет это поля.
6. Если есть сомнения, то сохраните профиль в виде файла (trc) и пришлите мне.
С уважением, Алексей
P.S. Если нет триггера, то может есть Job, который обновляет таблицу по расписанию?
14 авг 06, 08:37    [2997828]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить