Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите разобраться с CursorAdapter / 20 сообщений из 20, страница 1 из 1
26.02.2008, 09:27
    #35154396
DAndrey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с CursorAdapter
Есть таблица с полями id (integer autoinc), idorder(integer), summa numeric(10,2) в DE формы создаю курсор Cursor1
SelectCmd = select SUMMA from TABLE1
CursorSchema = SUMMA N(10, 2)
Alias = "cursor1"
Tables = TABLE1
UpdatableFieldList = SUMMA
UpdateNameList = SUMMA TABLE1.SUMMA
На форме создал Grid
RecordSource = "cursor1"
и кнопку Save
proc Click
tmp=TABLEUPDATE(.T.)
endproc
Не происходит обновление основной базы хотя tmp=.T.
...
Рейтинг: 0 / 0
26.02.2008, 09:44
    #35154425
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с CursorAdapter
Что возвращает

Код: plaintext
?CursorGetProp('SendUpdate', 'Cursor1')
...
Рейтинг: 0 / 0
26.02.2008, 09:49
    #35154437
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с CursorAdapter
Добавь ID в запрос, а то как фокс серверу передаст что именно эту строку менять надо?
SendUpdates = .T.
KeyFieldList = "id"
WhereType = 1

Возможно что TABLEUPDATE(.T.) не для Cursor1 выполняется
попробуй добавить:
Код: plaintext
1.
2.
3.
...
sele Cursor1
tmp=TABLEUPDATE(.T.)
...
...
Рейтинг: 0 / 0
26.02.2008, 10:21
    #35154507
DAndrey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с CursorAdapter
CursorGetProp('SendUpdate', 'Cursor1') =.F.

Добавил ID в запрос
SendUpdates = .T.
KeyFieldList = "id"
WhereType = 1
Изменения в таблицы начали происходить только мне нужно чтобы они происходили после нажатия на кнопку Сохранить а не после того как я нажал энтер в поле Грида
...
Рейтинг: 0 / 0
26.02.2008, 10:28
    #35154527
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с CursorAdapter
Поставь:
BufferModeOverride = 5
...
Рейтинг: 0 / 0
26.02.2008, 10:43
    #35154579
DAndrey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с CursorAdapter
Что мне мне необходимо добавить в CursorAdapter, если я хочу с него удалить некую запись и добавить . После нажатия на кнопку сохранить в основной таблице применились мои действия
...
Рейтинг: 0 / 0
26.02.2008, 10:51
    #35154608
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с CursorAdapter
DAndreyЧто мне мне необходимо добавить в CursorAdapter, если я хочу с него удалить некую запись и добавить . После нажатия на кнопку сохранить в основной таблице применились мои действия
BufferModeOverride = 5 достаточно.
добавляй, удаляй - после TABLEUPDATE(.T.) изменения на сервер уйдут.
...
Рейтинг: 0 / 0
26.02.2008, 10:58
    #35154623
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с CursorAdapter
Если хочешь чтобы после добавления ID заполнялось после TABLEUPDATE() то надо прописать:
InsertCmdRefreshFieldList = ID
InsertCmdRefreshCmd = select @@IDENTITY

select @@IDENTITY это для автоинкремента на MS-SQL
...
Рейтинг: 0 / 0
26.02.2008, 11:05
    #35154654
Aleksey-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с CursorAdapter
Dima TЕсли хочешь чтобы после добавления ID заполнялось после TABLEUPDATE() то надо прописать:
InsertCmdRefreshFieldList = ID
InsertCmdRefreshCmd = select @@IDENTITY

select @@IDENTITY это для автоинкремента на MS-SQL
1. А чего-то я не нашел в сообщении автора что-то про MS SQL Server
2. Если так, то точно ли есть поле со свойство IDENTITY на сервере для данной таблице?
3. Если есть, то лучше select SCOPE_IDENTITY()
С уважением, Алексей
...
Рейтинг: 0 / 0
26.02.2008, 11:11
    #35154675
Помогите разобраться с CursorAdapter
...
Рейтинг: 0 / 0
26.02.2008, 11:12
    #35154676
Помогите разобраться с CursorAdapter
...
Рейтинг: 0 / 0
26.02.2008, 11:13
    #35154683
DAndrey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с CursorAdapter
Спасибо, все заработало
...
Рейтинг: 0 / 0
26.02.2008, 12:35
    #35155007
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с CursorAdapter
Aleksey-K1. А чего-то я не нашел в сообщении автора что-то про MS SQL Server
Я тоже про тип базы ничего не нашел, но надо же что-то в примерах писать
Aleksey-K2. Если так, то точно ли есть поле со свойство IDENTITY на сервере для данной таблице?
DAndreyЕсть таблица с полями id (integer autoinc)...
Применительно к MS-SQL это больше всего похоже на использование IDENTITY
Aleksey-K3. Если есть, то лучше select SCOPE_IDENTITY()
Попробуй. У меня только с @@IDENTITY работает.
...
Рейтинг: 0 / 0
26.02.2008, 13:08
    #35155132
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с CursorAdapter
Dima T Aleksey-K3. Если есть, то лучше select SCOPE_IDENTITY()
Попробуй. У меня только с @@IDENTITY работает.

Попробуй, повесь на свою таблу триггер который модифицирует таблу с Identity и верни @@IDENTITY
...
Рейтинг: 0 / 0
26.02.2008, 13:26
    #35155209
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с CursorAdapter
PaulWist Dima T Aleksey-K3. Если есть, то лучше select SCOPE_IDENTITY()
Попробуй. У меня только с @@IDENTITY работает.

Попробуй, повесь на свою таблу триггер который модифицирует таблу с Identity и верни @@IDENTITY
select SCOPE_IDENTITY() от этого не заработает в обсуждаемой конструкции
...
Рейтинг: 0 / 0
26.02.2008, 13:43
    #35155282
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с CursorAdapter
Dima T select SCOPE_IDENTITY() от этого не заработает в обсуждаемой конструкции

А попробовать?
...
Рейтинг: 0 / 0
26.02.2008, 13:52
    #35155304
Aleksey-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с CursorAdapter
PaulWist Dima T select SCOPE_IDENTITY() от этого не заработает в обсуждаемой конструкции

Я думаю, что Dima T имеет в виду, что исопльзование SCOPE_IDENTITY() (как впрочем и @@IDENTITY ) не имеет отношение к теме топика (Помогите разобраться с CursorAdapter).
Но PaulWist тоже прав! Dima T, если Вы даете совет по поводу использованию @@IDENTITY, то будте готовы получить проблему с изменением значение этой глобавльной переменной за пределами Scope вашего кода или по крайне мере скажите о ней для DAndrey. Использование функции SCOPE_IDENTITY() и было введено в SQL 7.0 для решения этой проблемы.
А попробовать?
...
Рейтинг: 0 / 0
26.02.2008, 14:34
    #35155480
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с CursorAdapter
PaulWist Dima T select SCOPE_IDENTITY() от этого не заработает в обсуждаемой конструкции

А попробовать?
Уже попробовал еще раз перед тем как написать для DAndrey.
В CA.InsertCmdRefreshCmd = "select @@IDENTITY" - работает.
CA.InsertCmdRefreshCmd = "select SCOPE_IDENTITY()" - остается 0 после TABLEUPDATE(.Т.). Если у кого по другому - готов услышать в чем я не прав. "select @@IDENTITY" и мне проблемы создает.

Aleksey-KНо PaulWist тоже прав! Dima T, если Вы даете совет по поводу использованию @@IDENTITY, то будте готовы получить проблему с изменением значение этой глобавльной переменной за пределами Scope вашего кода или по крайне мере скажите о ней для DAndrey. Использование функции SCOPE_IDENTITY() и было введено в SQL 7.0 для решения этой проблемы.
А попробовать?
Уважаемые у Вас условный рефлекс на буквосочетание @@IDENTITY , т.к. проверить свои собственные советы кроме меня никто не подумал, все сразу начали критиковать :)
Почему я не сказал сразу:
1. Автор не сказал про MS-SQL, может его там и не пользуют, зачем замусоривать эфир?
2. Если бы потом сказал, то я бы заострил на этом его внимание.
3. Был уверен что найдутся желающие об этом сказать
4. Не надо записывать автора вопроса в чайники заочно, если автор использует IDENTITY то возможно уже знает о существовании @@IDENTITY и SCOPE_IDENTITY(), и их различиях.
...
Рейтинг: 0 / 0
26.02.2008, 15:31
    #35155685
Aleksey-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с CursorAdapter
Я не совсем понял, Что CA сам по себе понимает свойсво @@IDENTITY без привязки к типу источника данных. У него это встроенная функциональность ?
С уважением, Алексей
...
Рейтинг: 0 / 0
26.02.2008, 16:27
    #35155903
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с CursorAdapter
Aleksey-KЯ не совсем понял, Что CA сам по себе понимает свойсво @@IDENTITY без привязки к типу источника данных. У него это встроенная функциональность ?
С уважением, Алексей
Каюсь, виноват что не расписал все возможности КА и варианты установки соединения с источником данных.

Если речь идет об @@IDENTITY, то MS-SQL тут однозначно подразумевается, или есть еще SQL сервера выполняющие "select @@IDENTITY"?

Может топик все-таки почитаем целиком? MS-SQL я упомянул:
Dima TЕсли хочешь чтобы после добавления ID заполнялось после TABLEUPDATE() то надо прописать:
InsertCmdRefreshFieldList = ID
InsertCmdRefreshCmd = select @@IDENTITY

select @@IDENTITY это для автоинкремента на MS-SQL
Или этот ответ нужно считать подтверждением моих тестов?
Dima TВ CA.InsertCmdRefreshCmd = "select @@IDENTITY" - работает.
CA.InsertCmdRefreshCmd = "select SCOPE_IDENTITY()" - остается 0 после TABLEUPDATE(.Т.)
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите разобраться с CursorAdapter / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]