Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / VFP + SQL поле IDENTITY / 25 сообщений из 215, страница 1 из 9
23.02.2006, 18:02
    #33562930
Sergej_S
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP + SQL поле IDENTITY
Здравствуйте, коллеги.

Работаю с VFP8, база на SQL Server 2000, использую курсорадаптер для работы с таблицами, запросы апдейт данный формируем сам адаптер.

Хочу в справочниках для id использовать поле int IDENTITY, т.к. думаю, что так красиво решится момент, когда два юзера одновременно заносят новые строки в справочники.

Updates проходят хорошо, проблема с Insert`ом: не могу получить назад в фокс значение этого поля сразу после insert`а. А Юзеру надо после инсерта сразу показать, какая id присвоилась введенной им записи.

Пробовал так: в событие курсорадаптера BeforeInsert пишу:
Код: plaintext
cInsertCmd = cInsertCmd + "SELECT SCOPE_IDENTITY() as SCOPE_IDENTITY"
но курсор на прилепленный select не создается!!! Почему?


Пробовал еще так:
Сразу после TableUpdate выполняю:
Код: plaintext
sqlexec(<номер соед.адаптера>, "SELECT SCOPE_IDENTITY() as SCOPE_IDENTITY", 'tmp')
Выдает NULL.
Если поменять SELECT SCOPE_IDENTITY() на SELECT @@identity, результат есть, но по логике это некорректно.

Возможно, дело в расшаренной коннекции и connection statements, которые я создаю для каждого курсорадаптера?
...
Рейтинг: 0 / 0
23.02.2006, 22:25
    #33563116
1024
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP + SQL поле IDENTITY
scope_identity это то что присвоилось в одном батче. Т.е. надо вместе посылать команды, типа

sqlexec(cn,'insert into ... ;SELECT SCOPE_IDENTITY() as SCOPE_IDENTITY',crsr)
? crsr.SCOPE_IDENTITY

PS
курсорадаптер выбрось
...
Рейтинг: 0 / 0
25.02.2006, 22:27
    #33564880
FoXXX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP + SQL поле IDENTITY
заморочки одни, работайте через ODBC, создайте курсоры (если надо - с параметрами) и тогда команда
=tableupdate(.t.,.t.,'имя курсора) сбросит из буфера в базу SQL
а команда
=requery('имя курсора') покажет что там прописалось в поле identity...
а там уже берете поле ID и делаете с ним то что вам нужно
...
Рейтинг: 0 / 0
25.02.2006, 22:28
    #33564881
FoXXX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP + SQL поле IDENTITY
кстати команда tableud.. не обязательна, =requery('имя курсора') тоже сбросит в базу ваш буфер..
...
Рейтинг: 0 / 0
03.03.2006, 02:20
    #33578634
Igor Korolyov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP + SQL поле IDENTITY
Hi FoXXX!

> кстати команда tableud.. не обязательна, =requery('имя курсора') тоже
> сбросит в базу ваш буфер..

Нет не сбросит.
При некотором стечении обстоятельств (в частности при использовании
практически неуправляемой строчной буферизации) может пройти автоматический
сброс буфера, но в нормальной ситуации мы просто получим ошибку 1545 - Table
buffer for alias "name" contains uncommitted changes.
А вообще это неправильный подход - перезапрос это перезапрос, а извлечение
Identity после вставки - это совсем другая песня...

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
03.03.2006, 16:17
    #33580736
FoXXX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP + SQL поле IDENTITY
В смысле неправильны подход...

tableup - сбрасывает записи в базу
requer - получает их обратно уже с значениями ident - самый правильный и реальный подход. у меня req ни разу не ругнулась пока, пользую vfp9 - mssql2000, но может вы и правы.

а если вы будете гипотетически предполагать какой номер присвоит sql следующей записи, через спец функции sql например, вы попадете впросак, т.к. другой пользователь в этот момент сбросит свои записи и ваш ident будет неверен.
...
Рейтинг: 0 / 0
05.03.2006, 20:05
    #33582649
Igor Korolyov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP + SQL поле IDENTITY
Hi FoXXX!

> tableup - сбрасывает записи в базу
> requer - получает их обратно уже с значениями ident - самый правильный и
> реальный подход.

Конечно, если тебя не интересует возврат на "ту самую" запись которая была
активна на момент "перед сохранением" - то это вполне реально - а вот если
действительно нужно вернуться на "текущую запись" - то в общем случае это
НЕВОЗМОЖНО при использовании REQUERY(). В частных (т.е. далеко не во
всех!!!) случаях помогает поле ключа-кандидата (т.е. по сути "второй ключ"
который реально создаётся на клиенте) - но в общем случае это не выход.

> у меня req ни разу не ругнулась

Не в этом проблема. Никто ни на что не ругается - просто невозможно в НОВОМ
курсоре (а после перезапроса мы как раз получаем по сути новый курсор!
Точнее старые записи выкидываются, а курсор наполняется новыми записями)
найти нужную запись - а иногда эта "новая запись" вообще не попадает в
курсор после перезапроса! Скажем не проходит по условиям отбора (добавить то
в курсор такую запись не проблема, а вот после перезапроса её уже не
достать).

> а если вы будете гипотетически предполагать

Ни в коем случае! Никаких "гипотез" или "предположений"!

> какой номер присвоит sql следующей записи

Это для IDENTITY невозможно узнать!

> через спец функции sql например

Таких функций нет - есть функции которые вернут то значение которое УЖЕ
ПРИСВОЕНО - т.е. получить ID не ДО вставки, а ПОСЛЕ - когда оно уже реально
существует.

> вы попадете впросак, т.к. другой пользователь в этот момент сбросит свои
> записи и ваш ident будет неверен.

Ни @@IDENTITY ни SCOPE_IDENTITY() никак не могут зависеть от "других
пользователей" - поскольку они связаны с сессией - а у разных пользователей
естественно разные сессии. Можешь провести свой эксперимент если уж не
доверяешь документации.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
06.03.2006, 10:39
    #33583346
FoXXX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP + SQL поле IDENTITY
может мы о разных вещах говорим, на мой взгляд состояние базы, присвоение ID не зависит от сессии и пользователя, т.е. база одна для всех и распределение id едино, т.е. есть счетчик он ставит следующий номер следующей введеной записи, и не важно с какой сессии это произошло, кто первый тот и получил. может я тут немного с ораклом спутал, но помнится мне толи в оракле толи в мсскл я получал через функцию следющий номер id который будет присвоен записи, что в скл этого нет?

по поводу записи на которую не вернуться, ну наверно есть уникальное поле по которому можно сделать locate?
...
Рейтинг: 0 / 0
06.03.2006, 10:58
    #33583404
Aleksey-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP + SQL поле IDENTITY
FoXXXпо поводу записи на которую не вернуться, ну наверно есть уникальное поле по которому можно сделать locate?
Так это уникальное поле (первичный ключ таблицы - PK) и генерится очень часто с помощью свойства IDENTITY (не зря ведь оно может быть только одно на таблицу).
FoXXX
но помнится мне толи в оракле толи в мсскл я получал через функцию следющий номер id который будет присвоен записи, что в скл этого нет?

Пока вы раздумываете, что делать с этим новым значением ID, другой процесс может вставить эту запись.. Ну не таблицу же всю блокировать при вставке записи.
А что касается слов Igor Korolyov о том, что "....@@IDENTITY ни SCOPE_IDENTITY() никак не могут зависеть от "других
пользователей" - поскольку они связаны с сессией - а у разных пользователей
естественно разные сессии....", то он имел в виду, что эти функции работают ТОЛЬКО при вставки записи в таблицу, имеющую свойство IDENTITY.
Попробуйте SELECT @@IDENTITY или SELECT SCOPE_IDENTITY() БЕЗ вставки и получите NULL. А после вставки вернется то значение, которое попало в таблицу со свойством IDENTITY. Далее запись можете вернуть клиенту SELECT... FROM ... WHERE ID = SCOPE_IDENTITY().
С уважением, Алексей.
...
Рейтинг: 0 / 0
06.03.2006, 11:13
    #33583452
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP + SQL поле IDENTITY
FoXXXможет мы о разных вещах говорим, на мой взгляд состояние базы, присвоение ID не зависит от сессии и пользователя, т.е. база одна для всех и распределение id едино, т.е. есть счетчик он ставит следующий номер следующей введеной записи, и не важно с какой сессии это произошло, кто первый тот и получил.
ЧТО получил?

-) Первый пользователь создал новую запись
-) Второй пользователь создал новую запись
-) Первый пользователь запросил значение ключа ПОСЛЕДНЕЙ созданной записи. ЧТО он получил?

Понятно о чем речь? Если не делать "разграничения" по сессиям и пользователям, то получишь код ПОСЛЕДНЕЙ созданной записи. При этом далеко не факт, что эта именно та запись, которая тебе и нужна.

BOL MS SQL 2000@@IDENTITY and SCOPE_IDENTITY will return the last identity value generated in any table in the current session. However, SCOPE_IDENTITY returns the value only within the current scope; @@IDENTITY is not limited to a specific scope.

Т.е. и @@IDENTITY, и SCOPE_IDENTITY работают в пределах одной сессии. Грубо говоря, действия "другого" пользователя с точки зрения последнего присвоенного кода - игнорируются.

Однако существует другая проблема.

Создание новой записи таблицы может вызвать срабатывание триггера, внутри которого будет выполнено также создание новой записи. В этом случае @@IDENTITY вернет значение, созданное именно внутри тела триггера, а не в первой команде INSERT.

Именно для устранения подобной неоднозначности и была введена SCOPE_IDENTITY()

BOL MS SQL 2000 SCOPE_IDENTITYReturns the last IDENTITY value inserted into an IDENTITY column in the same scope. A scope is a module -- a stored procedure, trigger, function, or batch. Thus, two statements are in the same scope if they are in the same stored procedure, function, or batch.

Т.е. SCOPE_IDENTITY() вернет значение, присвоенное именно в данном программном модуле или пакете. Проигнорировав присвоения, сделанные в других модулях.
...
Рейтинг: 0 / 0
07.03.2006, 08:05
    #33585775
FoXXX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP + SQL поле IDENTITY
ребята, вы конечно асы по разным заумным высказываниям, но я вам просто и доходчиво обьясняю:

=TABLEUPDATE(.t.,.t.,'x')
потом
=requery('x')
потом
go bottom
все сразу и мгновенно, а если данная запись не попадает в данный запрос, то позвольте это считать уникальным случаем имеющим право на другое решение.

по поводу получения ID я и сказал тупиковый путь.

если с моим решением не согласны по обьективным причинам - обоснуйте, а то все что-то говорят с желанием блеснуть познаниями в Fox, такое впечатление - лишбы что-нибудь ляпнуть, покрасоваться...
...
Рейтинг: 0 / 0
07.03.2006, 11:36
    #33586310
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP + SQL поле IDENTITY
FoXXXребята, вы конечно асы по разным заумным высказываниям, но я вам просто и доходчиво обьясняю:

=TABLEUPDATE(.t.,.t.,'x')
потом
=requery('x')
потом
go bottom
все сразу и мгновенно, а если данная запись не попадает в данный запрос, то позвольте это считать уникальным случаем имеющим право на другое решение.

если с моим решением не согласны по обьективным причинам - обоснуйте
Обосновываю:

-) Первый пользователь добавил запись и сделал TableUpdate()
-) Второй пользователь добавил запись и сделал TableUpdate()
-) Первый пользователь сделал Requery(), перешел к последней записи и ЧТО он прочитал? ЧЕЙ код? Тот что сам добавил, или тот что добавил ДРУГОЙ пользователь.

FoXXXпо поводу получения ID я и сказал тупиковый путь.
...
, а то все что-то говорят с желанием блеснуть познаниями в Fox, такое впечатление - лишбы что-нибудь ляпнуть, покрасоваться...
Неправильно сказал. Именно получение ID и есть "генеральная линия партии". Вам разными путями пытались это объяснить. А вовсе не из желания покрасоваться.

Разъяснения сводились к тому, что именно надо делать и каким образом. А именно, использование функции SCOPE_IDENTITY() и "спасет отца русской демократии".

Так что, изначальный вопрос Sergej_S очень правильный. Он как раз и действует "как надо". Другой вопрос, как это "надо" вписать в механизм Cursor Adapter. Это надо разбираться отдельно...
...
Рейтинг: 0 / 0
07.03.2006, 12:06
    #33586409
C++FoXORASQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP + SQL поле IDENTITY
ВладимирМ FoXXXребята, вы конечно асы по разным заумным высказываниям, но я вам просто и доходчиво обьясняю:

=TABLEUPDATE(.t.,.t.,'x')
потом
=requery('x')
потом
go bottom
все сразу и мгновенно, а если данная запись не попадает в данный запрос, то позвольте это считать уникальным случаем имеющим право на другое решение.

если с моим решением не согласны по обьективным причинам - обоснуйте
Обосновываю:

-) Первый пользователь добавил запись и сделал TableUpdate()
-) Второй пользователь добавил запись и сделал TableUpdate()
-) Первый пользователь сделал Requery(), перешел к последней записи и ЧТО он прочитал? ЧЕЙ код? Тот что сам добавил, или тот что добавил ДРУГОЙ пользователь.

FoXXXпо поводу получения ID я и сказал тупиковый путь.
...
, а то все что-то говорят с желанием блеснуть познаниями в Fox, такое впечатление - лишбы что-нибудь ляпнуть, покрасоваться...
Неправильно сказал. Именно получение ID и есть "генеральная линия партии". Вам разными путями пытались это объяснить. А вовсе не из желания покрасоваться.

Разъяснения сводились к тому, что именно надо делать и каким образом. А именно, использование функции SCOPE_IDENTITY() и "спасет отца русской демократии".

Так что, изначальный вопрос Sergej_S очень правильный. Он как раз и действует "как надо". Другой вопрос, как это "надо" вписать в механизм Cursor Adapter. Это надо разбираться отдельно...

да вы батенька - фантаст однако...

ну надо же, два одновременно добавили запись,
весь набор команд выполняется мгновенно практически пакетом, каким образом успевает второй всунуться после табле апдейт, это ж постараться надо.. ситуация блин..
...
Рейтинг: 0 / 0
07.03.2006, 13:07
    #33586654
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP + SQL поле IDENTITY
C++FoXORASQL
да вы батенька - фантаст однако...

ну надо же, два одновременно добавили запись,
весь набор команд выполняется мгновенно практически пакетом, каким образом успевает второй всунуться после табле апдейт, это ж постараться надо.. ситуация блин..
Где Вы здесь увидели пакет? Это же не MS SQL. Это команды FoxPro.

Есть 2 последовательно выполняющиеся команды FoxPro

Код: plaintext
1.
2.
TableUpdate()
Requery()

MS SQL просто никак не может получить их "пакетом". Он получит две отдельные команды.

Даже если опустить тот факт, что ТАК программы никто не пишет. На практике, между TableUpdate() и Requery() будет еще много чего вставлено (сброс данных в другие таблицы, проверка ошибок, завершение транзакции и т.д. и т.п.). То КАК Вы себе представляете процесс работы?

TableUpdate() - это команда на модификацию, Requery() - команда на чтение. Две разные команды. Почему между ними не может "втиснуться" другая команда?

При этом, я не вижу причин, почему вcтавка записи другим пользователем, не может произойти в процессе выполнения Requery(). Правда, тут нужно знать, как именно происходит процесс чтения данных. Т.е. внутреннюю "механику" команды Requery()

В данном случае аргумент типа "весь набор команд выполняется мгновенно практически пакетом" ничем не отичается от аргумента "успевает второй всунуться после табле апдейт". Просто "голословные" утверждения, что с одной, что с другой стороны.

Только вот, почему-то в HELP по MS SQL нигде не говорится, что получить код последней вставленной записи можно простым вычислением максимального значение (GO BOTTOM - это и есть определение MAX). И чего они, дураки, мучаются
...
Рейтинг: 0 / 0
07.03.2006, 13:45
    #33586813
C++FoXORASQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP + SQL поле IDENTITY
чего они мучаются не знаю,

процесс работы requery можно посмотреть в SQL Profiler

go bottop, скорее не max а последняя запись, т.е. запись последняя в таблице, конечно гипотетически можно предположить что кто-то втиснет свою запись туда, ну на практике наврятли, хотя нужно попоробовать на двух компах двумя руками одновременно клацнуть клавиши... интересно произойдет то о чем вы говорите или нет? мне кажется нужно очень постараться, ну просто очень, и то сомневаюсь что у вас получится втиснуть пока отрабатывается команда одного из клиентов..
...
Рейтинг: 0 / 0
07.03.2006, 13:54
    #33586845
C++FoXORASQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP + SQL поле IDENTITY
к сожалению в данный момент по техническим причинам не могу произвести подобный эксперимент, если у вас есть такая возможность попробуйте проверте, добейтесь результата и вы меня переубедите..
...
Рейтинг: 0 / 0
07.03.2006, 13:55
    #33586851
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP + SQL поле IDENTITY
C++FoXORASQLчего они мучаются не знаю,

процесс работы requery можно посмотреть в SQL Profiler

go bottop, скорее не max а последняя запись, т.е. запись последняя в таблице, конечно гипотетически можно предположить что кто-то втиснет свою запись туда, ну на практике наврятли, хотя нужно попоробовать на двух компах двумя руками одновременно клацнуть клавиши... интересно произойдет то о чем вы говорите или нет? мне кажется нужно очень постараться, ну просто очень, и то сомневаюсь что у вас получится втиснуть пока отрабатывается команда одного из клиентов..

Вы бы прочли внимательно, что Вам отвечали, а затем подумали и потом провели бы эксперименты, а то её богу забавно читать Ваши посты.
...
Рейтинг: 0 / 0
07.03.2006, 13:55
    #33586854
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP + SQL поле IDENTITY
авторкурсорадаптер выбрось

изв., что встреваю
а чем курсорадаптер неугодил???

ну что-то не нравится - породите свой и допишите вкось и вкривь
...
Рейтинг: 0 / 0
07.03.2006, 14:01
    #33586869
C++FoXORASQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP + SQL поле IDENTITY
немного возражу ВладимируМ, вот он пишет:
/*TableUpdate() - это команда на модификацию*/

на самом деле сброс буфера в базу, если используется буфер.
команда раскладывается на insert, update
...
Рейтинг: 0 / 0
07.03.2006, 14:14
    #33586913
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP + SQL поле IDENTITY
C++FoXORASQLнемного возражу ВладимируМ, вот он пишет:
/*TableUpdate() - это команда на модификацию*/

на самом деле сброс буфера в базу, если используется буфер.
команда раскладывается на insert, update
На всякий случай напомню.

В данной теме обсуждается вопрос создания новой записи в MS SQL сервере со стороны клиента FoxPro и получения значение поля со свойством Identity в этой новой записи.
...
Рейтинг: 0 / 0
07.03.2006, 14:17
    #33586921
C++FoXORASQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP + SQL поле IDENTITY
ВладимирМ C++FoXORASQLнемного возражу ВладимируМ, вот он пишет:
/*TableUpdate() - это команда на модификацию*/

на самом деле сброс буфера в базу, если используется буфер.
команда раскладывается на insert, update
На всякий случай напомню.

В данной теме обсуждается вопрос создания новой записи в MS SQL сервере со стороны клиента FoxPro и получения значение поля со свойством Identity в этой новой записи.

не понял, извините.

а я про что??
...
Рейтинг: 0 / 0
07.03.2006, 14:20
    #33586931
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP + SQL поле IDENTITY
C++FoXORASQL
на самом деле сброс буфера в базу, если используется буфер.
команда раскладывается на insert, update

Ну вот другое дело, есть конкретный вопрос

При КС технологии всегда есть буфер клиента (промежуточный курсор) который сбрасывается на сервер.

Есть два метода модификации данных на сервере
- использование старых данных эквивалентно (UPDATE Table SET .... WHERE)
- использование новых данных эквивалентно пакету (DELETE FROM Table WHERE + INSERT INTO Table VALUES(.....))

за это отвечает установка CURSORSETPROP('UpdateType')
...
Рейтинг: 0 / 0
07.03.2006, 14:36
    #33586983
C++FoXORASQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP + SQL поле IDENTITY
так работает (выглядит) requery() в MS SQL:

SELECT * FROM dbo.por Por

так работает tableupd():

UPDATE dbo.tablica SET rezoluc='sadsadasd' WHERE id=5318 было изменено 2 поля.
UPDATE dbo.tablica SET rezoluc='asfasdasdsad' WHERE id=5379

используется буфер Use form setting (default) и 2-Optimistic

а так создается новая запись:

exec sp_executesql N'INSERT INTO dbo.tablica (vhod_num,n_str,date_vruch,date_vozvr,ready) VALUES (@P1,@P2,@P3,@P4,@P5)', N'@P1 numeric(7,0),@P2 char(5),@P3 smalldatetime,@P4 smalldatetime,@P5 smalldatetime', 3235, '1 ', 'Mar 7 2006 12:00AM', NULL, NULL
...
Рейтинг: 0 / 0
07.03.2006, 15:21
    #33587117
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP + SQL поле IDENTITY
C++FoXORASQLтак работает (выглядит) requery() в MS SQL:

SELECT * FROM dbo.por Por

так работает tableupd():

UPDATE dbo.tablica SET rezoluc='sadsadasd' WHERE id=5318 было изменено 2 поля.
UPDATE dbo.tablica SET rezoluc='asfasdasdsad' WHERE id=5379

используется буфер Use form setting (default) и 2-Optimistic

а так создается новая запись:

exec sp_executesql N'INSERT INTO dbo.tablica (vhod_num,n_str,date_vruch,date_vozvr,ready) VALUES (@P1,@P2,@P3,@P4,@P5)', N'@P1 numeric(7,0),@P2 char(5),@P3 smalldatetime,@P4 smalldatetime,@P5 smalldatetime', 3235, '1 ', 'Mar 7 2006 12:00AM', NULL, NULL

Что Вы хотите, что бы Вам прокоментировали?

Для команды Requery() результатом которой является
Код: plaintext
SELECT * FROM  dbo.por Por - 
почитайте SET TRANSACTION ISOLATION LEVEL и SELECT table_hint

Для команды TableUpdate результатом которой является
Код: plaintext
UPDATE dbo.tablica SET rezoluc='sadsadasd' WHERE id= 5318 
использовано значение
Код: plaintext
CURSORSETPROP('UpdateType', 1 )

При создании новой записи почитайте о
Код: plaintext
 sp_executesql
...
Рейтинг: 0 / 0
07.03.2006, 15:35
    #33587152
C++FoXORASQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP + SQL поле IDENTITY
я нихочу коментариев, это я вам показал что происходит в сервере когда я работаю в клиенте фокса и использую вышеобозначенные команды,

вопрос был что там происходит, я дал ответ: происходит это и привел пример, вот и все...
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / VFP + SQL поле IDENTITY / 25 сообщений из 215, страница 1 из 9
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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