Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / GUID добавленой записи SQL, MSAccess / 10 сообщений из 10, страница 1 из 1
18.08.2004, 23:19:47
    #32655771
AlexHel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GUID добавленой записи SQL, MSAccess
есть такой код ... добавляется запись - ессно хочется получить значение счетчика новой записи
делаю по образу вопроса 8

Dim cnnPolarFin As New ADODB.Connection
Dim rs As ADODB.Recordset

cnnPolarFin.Open "Provider=SQLOLEDB.1;Password=12345;Persist Security Info=False;User ID=sa;Initial Catalog=Polar_fin;Data Source=USTAS;"
Set rs = New ADODB.Recordset

cnnPolarFin.Execute "INSERT .... "
'rs.Open "SELECT @@identity as cou", cnnPolarFin
rs.Open "SELECT SCOPE_IDENTITY() AS [SCOPE_IDENTITY]", cnnPolarFin
strFolder_ID = rs!SCOPE_IDENTITY
rs.Close

пробовал два варианта запроса ... результат null и в том и в другом случае.
подскажите плиз, где грабли
...
Рейтинг: 0 / 0
19.08.2004, 05:52:59
    #32655830
vma_mnt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GUID добавленой записи SQL, MSAccess
А в той таблице, куда была вставка, есть колонка с IDENTITY.
Если такой нет, то NULL и будет
...
Рейтинг: 0 / 0
19.08.2004, 06:02:58
    #32655839
Pavel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GUID добавленой записи SQL, MSAccess
Я тоже что-то не понял, в чем связь между GUID и @@IDENTITY?
...
Рейтинг: 0 / 0
19.08.2004, 07:43:59
    #32655886
AlexHel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GUID добавленой записи SQL, MSAccess
vma_mntА в той таблице, куда была вставка, есть колонка с IDENTITY.
Если такой нет, то NULL и будет

нет, нету ...
ключевое поле Order_ID
если пытаюсь выполнить запрос
SELECT @@Order_ID AS cou
FROM [order]

результат следующий
SQL text cannot be represented in the grid pane and diagram pane.
Must declare @@Order_ID

в каком именно месте я торможу? ;-)
можно и ссылку на мануал - я не нашел нигде .... ;(
...
Рейтинг: 0 / 0
19.08.2004, 08:06:22
    #32655899
AlexHel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GUID добавленой записи SQL, MSAccess
vma_mntА в той таблице, куда была вставка, есть колонка с IDENTITY.
Если такой нет, то NULL и будет

забыл добавить

поле Order_ID имеет тип uniqueidentifier
Default value (newid())
...
Рейтинг: 0 / 0
19.08.2004, 09:11:13
    #32655948
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GUID добавленой записи SQL, MSAccess
AlexHel vma_mntА в той таблице, куда была вставка, есть колонка с IDENTITY.
Если такой нет, то NULL и будет

забыл добавить

поле Order_ID имеет тип uniqueidentifier
Default value (newid())
не знаю как по умному такое сделать, но так точно получиться

- убиваешь свой дефаулт нафиг
- делаешь ХП для добавления записи (вот из нее и будешь свой резулт получать)
- В ХП сначала получаешь новый id (Set @ID = NewID())
- А затем уже инсерт сделаешь
(не забуть @ID описать как выходной параметр)
...
Рейтинг: 0 / 0
19.08.2004, 10:20:24
    #32656065
Pavel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GUID добавленой записи SQL, MSAccess
А не проще втавку через рекордсет сделать?
...
Рейтинг: 0 / 0
19.08.2004, 11:11:46
    #32656218
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GUID добавленой записи SQL, MSAccess
PavelА не проще втавку через рекордсет сделать?
ИМХО:
- Если юзать сервер, то всю обработку данных лучше через ХП делать
- А отображение через представления
- А доступ к таблам ваще закрыть и разрешить только нужные ХП и представления
PS: А иначе нафиг MSSQL, ваще, ставить?
...
Рейтинг: 0 / 0
19.08.2004, 11:24:37
    #32656275
Shark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GUID добавленой записи SQL, MSAccess
Может я ошибаюсь, но по моему у любой таблицы должен быть естественный ключ. Тк если его нет, то запись нельзя отличить от соседней а тогда не все ли равно какую брать-бери любую:-)
А если естественный ключ есть, то по нему и можно получить идентити
...
Рейтинг: 0 / 0
19.08.2004, 12:26:34
    #32656476
Pavel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GUID добавленой записи SQL, MSAccess
paparome
ИМХО:
- Если юзать сервер, то всю обработку данных лучше через ХП делать
- А отображение через представления
- А доступ к таблам ваще закрыть и разрешить только нужные ХП и представления
PS: А иначе нафиг MSSQL, ваще, ставить?
Ну это всего лишь один из подходов к организации работы (хотя возможно и наиболее оптимальный в плане безопасности). Но для аксеса полноценная реализация проблематична, в подробности вдаваться не буду, это отдельная тема. Да и прочитай вопрос, автору пока не до этого :)

SharkМожет я ошибаюсь, но по моему у любой таблицы должен быть естественный ключ. Тк если его нет, то запись нельзя отличить от соседней а тогда не все ли равно какую брать-бери любую:-)
А если естественный ключ есть, то по нему и можно получить идентити
Ты путаешь понятия естественного, суррогатного и просто первичного ключа, а заодно типы GUID и identity.
У автора типичный суррогатный ключ - GUID Это совсем не счетчик, и идентити тут непричем. Кстати счетчик это тоже типичный суррогатный ключ.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / GUID добавленой записи SQL, MSAccess / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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