|
|
|
как заполнить Recordset хранимой процедурой?
|
|||
|---|---|---|---|
|
#18+
Помогите! Не получается получить набор данных из хр.проц. Делаю как показано ниже. Заметил, что если хп состоит из одного select'a, то все работает, но вот если в тело хп, к примеру, добавить временную таблицу и вставить select * into #temptable from ... , то программа закрывает recordset сразу после вызова cmd.Execute, а обращение к oRecordset.EOF дает ошибку: "Операция не допускается, если объект закрыт" При этом из QA все выглядит замечательно... Dim conn As New ADODB.Connection Dim cmd As ADODB.Command Dim oRecordset As ADODB.Recordset conn.ConnectionString = "Provider=SQLOLEDB;Server=(local);Initial Catalog=SBODemo_RU76;Trusted_Connection=Yes" conn.CursorLocation = adUseClient conn.Open Set cmd = New ADODB.Command cmd.Prepared = False cmd.ActiveConnection = conn cmd.CommandType = adCmdStoredProc cmd.CommandText = "Test" cmd.Parameters.Item("@WCode").Value = strWarehouse cmd.Parameters.Item("@CCode").Value = "C1000" cmd.Parameters.Item("@Year").Value = "2005" Set oRecordset = cmd.Execute i = 1 While Not oRecordset.EOF sht.Cells(1, i) = oRecordset.Fields(0).Value i = i + 1 oRecordset.MoveNext Wend Set oRecordset = Nothing Set cmd = Nothing conn.Close Set conn = Nothing при такой хп все ОК: CREATE PROCEDURE [dbo].[Test] AS Select Code, Name From [dbo].[@One_MainWh] GO при такой хп все очень плохо :( CREATE PROCEDURE [dbo].[Test] AS Select * into #t From [dbo].[@One_MainWh] Select Code, Name From [dbo].[@One_MainWh] drop table #t GO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2005, 18:41 |
|
||
|
|

start [/forum/topic.php?fid=17&fpage=116&tid=1353634]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
24ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 350ms |

| 0 / 0 |
