Как вызывать процедуру без имени входящей переменной?
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Как вызывать процедуру без имени входящей... Expand / Collapse
Автор
Сообщение
13.03.2006 11:42
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 26.09.2006 0:00
Сообщ.: 86, Visits: 939
Добрый день.

В Visual Basik е можно задавать параметры процедуры,
не задавая конкретно имени переменной.
напр:
Dim oCommand As New SqlCommand
oCommand.CommandType = ADODB.CommandTypeEnum.adCmdStoredProc
oCommand.CommandText = "имя процедуры"
oCommand.Parameters.Append(oCommand.CreateParameter(, ADODB.DataTypeEnum.adBoolean, ADODB.ParameterDirectionEnum.adParamInput, , "текст"))
...

в .NET e
...
oCommand.Parameters.Add(parametername, OleDbType.Boolean).Value = "текст"
...
Как в .NET сделать тоже самое,
т.е parametername- не задавать?

Заранее спосибо!
Сообщ. #892557
13.03.2006 12:11
Supreme Being

Supreme Being

модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240, Visits: 65 445
Боюсь что такое не получится. Единственное, что можно попробовать это использовать имя "?" для все параметров. И если не секрет, то чем тебе это мешает?

P.S. Слово спасибо, пишется через а :)
Сообщ. #892560
13.03.2006 13:10
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 26.09.2006 0:00
Сообщ.: 86, Visits: 939
Хочу написать общую функцию(для всех процедур), которой бы передавался массив параметров и их тип, и имя процедуры.
просто непонятно,как в vb ето возможно а в .NET е нет,...?
Сообщ. #892573
13.03.2006 13:34
Supreme Being

Supreme Being

модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240, Visits: 65 445
В .NET используется новая версия слоя работы с данными ADO.NET. Отсюда такие различия. Кроме того некоректно говорить о том что это можно в VB, но нельзя в .NET. Было бы точнее сказать, что это возможно в ADO, но невозможно в ADO.NET. У тебя есть несколько возможностей:

- Использовать библиотеку ADO в .NET. Это возможно и вполне допустимо так как .NET поддерживает работу с COM объектами через COM Interop. Но я бы не рекомендовал так делать.

- Написать свою процедуру так чтобы кроме значений параметров и их типов передавалось и их имя.

- Использовать в качестве имени параметра значение строку "?", как я уже писал. Правда это может не прокатить при работе с MSSQL.

- Можешь также попробовать присваивать названия параметров внутри своей функции по порядку: Parameter1, Parameter2 и т.д.

Еще советую посмотреть в сторону Microsoft Enterprise Library (можно скачать с MSDN). Она включает в себя универсальный слой работы с базами данными. Освой его и тебе не нужно будет писать свой код для аналогичной работы.
Сообщ. #892575
13.03.2006 13:46
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 26.09.2006 0:00
Сообщ.: 86, Visits: 939
СПАСИБО!
Сообщ. #892576
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl, Alexey Spirin

Время GMT +3:00, Сейчас 9:41