|
Интересная ситуация (курсорадаптер, работа и не работа tableupdate(.t.))
|
|||
---|---|---|---|
#18+
Всем привет! Вчера столкнулся с такой интересной ситуацией, и не знаю, глюк это или как: 1) есть форма 2) в датенвиронмент лежит рабочий курсорадаптер через одбс на таблицу sql-сервера все нормально работает - и загружает в него данные таблицы и удаляет их и делает изменения и инсерты. после различных действ почему-то перестал работать, делаешь ему тэйблапдейт, а он возвращает ложь, причем только в одном случае, а в другом - все ок. начал копать, долго копал, пока не решил проверить один момент - в том случае когда он не работал (возвращал ложь при tableupdate(.t.)), я в начале работы с фрормой, делал инсерт в ту же таблицу (при разработке мне тогда показалось правильным и "по-быстрому"), но прямо на сервер (замечу что после этого, курсорадаптер показывал эту новую запись, и даже делал необходимые мне изменения в курсорадаптере). решил переделать, и сделал инсерт прямо в курсорадаптер - и tableupdate(.t.) сразу же нормальненько заработал. зы если кто знает в чем фишка такого поведения фокса - дайте знать ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2011, 10:15 |
|
Интересная ситуация (курсорадаптер, работа и не работа tableupdate(.t.))
|
|||
---|---|---|---|
#18+
Какие ошибки смотрел? Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2011, 10:21 |
|
Интересная ситуация (курсорадаптер, работа и не работа tableupdate(.t.))
|
|||
---|---|---|---|
#18+
Dima TКакие ошибки смотрел? Код: plaintext 1. 2.
смотрел то что он отправляет - sql запросы на сервер а вот о просмотре ошибки таким образом я совсем забыл :) но все равно, сервер вернул ошибку о невозможности вставить дубликат строки, хотя в курсорадаптере дубликата нет, и сразу же вернул .f. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2011, 11:43 |
|
Интересная ситуация (курсорадаптер, работа и не работа tableupdate(.t.))
|
|||
---|---|---|---|
#18+
Imperousно все равно, сервер вернул ошибку о невозможности вставить дубликат строки, хотя в курсорадаптере дубликата нет, и сразу же вернул .f. Значит что-то не так у тебя в коде. Ищи косяк из-за чего двоиться. Сервер проверяет дубли у себя в базе. Чего в твоем КА ему без разницы. Возможно проблема из-за одновременного добавления несколькими пользователями. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2011, 12:11 |
|
Интересная ситуация (курсорадаптер, работа и не работа tableupdate(.t.))
|
|||
---|---|---|---|
#18+
tableupdate(.t.) - посылает INSERT или UPDATE серверу и в случае если сервер подтверждает изменения возвращает .T. поэтому без разницы чего в курсоре (с точки зрения целостности), курсор нужен только чтобы сгенерить INSERT/UPDATE ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2011, 12:13 |
|
Интересная ситуация (курсорадаптер, работа и не работа tableupdate(.t.))
|
|||
---|---|---|---|
#18+
1. намек по-еврейски: транзакции и обработчики ошибок придумали трусы? 2. если работаете через КАД зачем еще "руками трясти" сервер? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2011, 13:50 |
|
|
start [/forum/search_topic.php?author=karpi&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 772ms |
total: | 927ms |
0 / 0 |