|
|
|
Вызов ХП с параметром adDecimal
|
|||
|---|---|---|---|
|
#18+
у меня хранимая процедура на MSSQL типа Код: plaintext 1. 2. 3. 4. 5. 6. 7. Вызываю ее из Екселя через ADODB.Command таким определением параметров: Код: plaintext 1. 2. 3. 4. 5. 6. при этом получаю сообщение - Precision is invalid. Не пойму, где ошибка - на сервере в ХП или при вызове. Подскажите, как тут правильно указать Precision, чтобы нормально все передавалось, плиз? (или может ссылка на FAQ есть, справки толковой по ADO не нашел :( ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2004, 18:43 |
|
||
|
Вызов ХП с параметром adDecimal
|
|||
|---|---|---|---|
|
#18+
Ошибка в размерности, а не в типе данных. вот в этой строке: Код: plaintext вместо 3 надо написать 5, как в ХП для данного параметра указано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2004, 19:07 |
|
||
|
Вызов ХП с параметром adDecimal
|
|||
|---|---|---|---|
|
#18+
не, ну тут я описался, само собой, что в ХП - то и в вызове ставится - 5. Все равно ошибка. Хотя я тут пока перешел на adVarChar, конверчу уже на MSSQL varchar в decimal(18,2) - все ОК. Думаю так и оставить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2004, 19:12 |
|
||
|
Вызов ХП с параметром adDecimal
|
|||
|---|---|---|---|
|
#18+
Несоответствие типа adDecimal (это тип данных OLE DB = DBTYPE_DECIMAL) c провайдером MS SQL Server. Тип Decimal в провайдере MS SQL Server соответствует типу данных для OLE DB провайдера (DBTYPE_NUMERIC). Поэтому во всех строках в коде нужно использовать константу adNumeric вместо adDecimal . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2004, 19:26 |
|
||
|
Вызов ХП с параметром adDecimal
|
|||
|---|---|---|---|
|
#18+
авторПодскажите, как тут правильно указать Precision, чтобы нормально все передавалось, плиз? Чтобы не греть голову с размерностью, типами и т.п. параметров попробуй воспользоваться способностью объекта ADODB.Command самому определять всю эту шелуху самому. А именно, Код: plaintext После этого достаточно представлять себе только порядок параметров, направленость (inp/out) и примерно тип. Для задания входного параметра перед выполнением процедуры будет достаточно присвоить ему значение Код: plaintext 1. Для определения значения выходного параметра после выполнения процедуры, соответственно Код: plaintext 1. Следует иметь только в виду, что параметр под индексом ноль (Parameters(0)) - это значение возвращаемое оператором RETURN хранимой процедуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2004, 07:01 |
|
||
|
Вызов ХП с параметром adDecimal
|
|||
|---|---|---|---|
|
#18+
Спасибо alex и tpg! Буду активно юзать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2004, 10:47 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=32430712&tid=2162192]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
74ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 418ms |

| 0 / 0 |
