Как выполнить хранимую процедуру с Vici Coolstorage? - PullRequest
2 голосов
/ 19 марта 2010

Я создаю приложение для Vici Coolstorage (версия asp.net). Мои классы созданы и сопоставлены с таблицами базы данных, и я могу получить список всех записей.

Я написал хранимую процедуру, в которой запрос перемещается между базами данных, которые не сопоставлены с Coolstorage, однако поля в результате запроса сопоставляются непосредственно с одним из моих классов. Процедура принимает 1 параметр.

так 2 вопроса здесь:

как выполнить хранимую процедуру? я делаю это

CSParameterCollection collection = new CSParameterCollection();
collection.Add("@id", id);
var result = Vici.CoolStorage.CSDatabase.RunQuery("procedurename", collection);

и получение исключения «Неверный синтаксис рядом с« имя_процесса ».» (Я предполагаю, что это потому, что он пытается выполнить его как текст, а не как процедуру?)

а также, поскольку класс, представляющий мою таблицу, определен как абстрактный, как мне указать, что в результате должен создаваться список объектов MyTable вместо общих, динамических или каких-либо других объектов? если я попробую

Vici.CoolStorage.CSDatabase.RunQuery<MyTable>(...)

компилятор кричит на меня за то, что это абстрактный класс.

1 Ответ

2 голосов
/ 19 марта 2010

В CoolStorage есть ярлык для запуска хранимой процедуры.Просто добавьте префикс имени хранимой процедуры к «!»:

 CSDatabase.RunQuery("!procedurename", collection);
...