|
|
|
проблема с Recordset-ом
|
|||
|---|---|---|---|
|
#18+
Привет всем. У меня вот такая проблема. Давольно стандартная операция, программно запускаю хранимую процедуру в MSSQLServer 2000. результат возвращаю в виде набора заисей в мой Recordset. Все работает. Public Function Pogr_sut(ddmmyy As Variant, sODBC As Variant) As Variant Dim connectString As String Dim PogrArray() As Variant Dim p As ADODB.Parameter connectString = CStr(sODBC) Set adoConnection = New ADODB.Connection Set adoRecordset = New ADODB.Recordset Set adoCommand = New ADODB.Command adoConnection.Open connectString With adoCommand Set .ActiveConnection = adoConnection .CommandType = adCmdStoredProc .CommandText = "ItogPogrSut" Set p = .CreateParameter("mdate", adVarChar, adParamInput, 6, CStr(ddmmyy)) .Parameters.Append p Set adoRecordset = .Execute End With If (adoRecordset.BOF) And (adoRecordset.EOF) Then ReDim PogrArray(1) PogrArray(0) = "Нет данных" Else iRecCount = adoRecordset.GetRows() iRows% = UBound(iRecCount, 2) + 1 ReDim PogrArray(iRows%, 6) 'On Error GoTo transError adoConnection.BeginTrans adoRecordset.MoveFirst i% = 0 While Not adoRecordset.EOF PogrArray(i%, 0) = adoRecordset!kotd PogrArray(i%, 1) = adoRecordset!tp PogrArray(i%, 2) = adoRecordset!rodv PogrArray(i%, 3) = adoRecordset!park PogrArray(i%, 4) = adoRecordset!prin PogrArray(i%, 5) = adoRecordset!KolVag adoRecordset.MoveNext i% = i% + 1 Wend adoConnection.CommitTrans End If adoRecordset.Close Pogr = PogrArray Exit Function transError: adoConnection.RollbackTrans adoRecordset.Close adoConnection.Close End Function Новот когда начинаю работать с этим рекортсетом то он вначале нормально выдает количесво записей в нем, строка iRecCount = adoRecordset.GetRows() iRows% = UBound(iRecCount, 2) + 1 Но затем выдает ошибку на строке adoRecordset.MoveFirst. Текст ошибки: авторRun-time error '-2147217896 (80040e18)' Не удается вновь задать положение в наборе строк ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2007, 14:37 |
|
||
|
проблема с Recordset-ом
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2007, 14:52 |
|
||
|
проблема с Recordset-ом
|
|||
|---|---|---|---|
|
#18+
и вообще ваш код посути абсурден в части получения массива и открытия зачем-то для этого транзакции, а затем вы ее еще commit, а там нечего коммитеть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2007, 14:54 |
|
||
|
проблема с Recordset-ом
|
|||
|---|---|---|---|
|
#18+
Konst_Oneи вообще ваш код посути абсурден в части получения массива и открытия зачем-то для этого транзакции, а затем вы ее еще commit, а там нечего коммитеть Konst подскажи как на твой взгляд будет правельнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2007, 15:29 |
|
||
|
проблема с Recordset-ом
|
|||
|---|---|---|---|
|
#18+
До конца не совсем понял , что вы в итоге хотите получить, но может так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2007, 15:45 |
|
||
|
проблема с Recordset-ом
|
|||
|---|---|---|---|
|
#18+
Попробуй создать adoRecordset как динамический... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2007, 17:38 |
|
||
|
проблема с Recordset-ом
|
|||
|---|---|---|---|
|
#18+
авторПопробуй создать adoRecordset как динамический... Покажи как ... если так то пробовал тоже самое Set adoConnection = CreateObject("ADODB.Connection") Set adoRecordset = CreateObject("ADODB.Recordset") ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2007, 13:42 |
|
||
|
проблема с Recordset-ом
|
|||
|---|---|---|---|
|
#18+
Попробуй перед строчкой Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2007, 14:08 |
|
||
|
проблема с Recordset-ом
|
|||
|---|---|---|---|
|
#18+
не. это не поможет.. сейчас "почищу" твой код и пришлю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2007, 14:27 |
|
||
|
проблема с Recordset-ом
|
|||
|---|---|---|---|
|
#18+
Попробуй заменить свой код на вот этот: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2007, 15:43 |
|
||
|
проблема с Recordset-ом
|
|||
|---|---|---|---|
|
#18+
упс... в куске: Код: plaintext 1. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2007, 15:45 |
|
||
|
|

start [/forum/topic.php?fid=60&fpage=246&tid=2164507]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
71ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 404ms |

| 0 / 0 |
