|
|
|
После INSERT не возвращается recordet сохранённой процедуры.
|
|||
|---|---|---|---|
|
#18+
Вот процедура CREATE PROCEDURE INS_ONE_XXX @DATAS varchar(100), @IDN bigint = 0 output AS SET @IDN = 0 SELECT @IDN=ISNULL(ID,0)FROM DOLZ WHERE NAME=@DATAS if @IDN=0 BEGIN INSERT INTO DOLZ (NAME) VALUES (@DATAS) SET @IDN = SCOPE_IDENTITY() END SELECT @IDN AS ID GO А вот вызывающий её код VB: Dim rec As New ADODB.Recordset Dim K As Long rec.Open "INS_ONE_XXX 'xx_data'", СurrentProject.Connection MsgBox (rec("ID")) End Sub Так вот если 'xx_data' есть в таблице (т.е. INSERT не проходит) - всё нормально ID возвращается в виде recordet с одним полем ID и одной строкой. Но если пошло по ветке с INSERT - труба. возвращается полностью пустой recordset без полей. В тоже время в Query Analiser возврашаются в обоих случаях идентичные recordset. Я уже варюсь. Кто может такое объяснить??? Проверялось даже вставкой SELECT 1 AS ID - тоже самое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2002, 15:44 |
|
||
|
После INSERT не возвращается recordet сохранённой процедуры.
|
|||
|---|---|---|---|
|
#18+
На самом деле при "ветке с INSERT " вам возвращается 2 recordset-а, т.к. ЛЮБЫЕ запросы производят на свет какой-либо результат(например, INSERT - сколько записей было добавлено). Поэтому ваш SELECT @IDN AS ID просто находится в следующем рекордсете. Можете использовать его, а можете с помощью SET NOCOUNT ON вообще отключить возврат количества подвергшихся обработке столбцов в качестве результатов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2002, 16:17 |
|
||
|
После INSERT не возвращается recordet сохранённой процедуры.
|
|||
|---|---|---|---|
|
#18+
А как достать другой recordset? Можно пример? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2002, 16:37 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32031307&tid=1822583]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
180ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 479ms |

| 0 / 0 |
