2010-03-18 50 views
2

我正在圍繞Vici Coolstorage(asp.net版本)構建一個應用程序。我有我的類創建並映射到我的數據庫表,並可以拉好所有記錄的清單。我如何執行與vici coolstorage存儲過程?

我已經寫了一個存儲過程,其中查詢跳過了未與Coolstorage映射的數據庫,但查詢結果中的字段直接映射到我的一個類。該過程需要1個參數。

so 2 questions here:

我該如何執行存儲過程?我正在這樣做

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

並得到異常「procedurename'附近的語法不正確」。 (我猜這是因爲它試圖執行它作爲文本,而不是一個過程?)

而且,因爲代表我的表的類被定義爲抽象,我該如何指定該結果應該創建一個列表MyTable對象,而不是通用或動態或任何對象?如果我嘗試

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

編譯器因爲它是抽象類而大叫我。

回答

2

CoolStorage有一個運行存儲過程的快捷方式。只需將存儲過程名稱加上「!」即可:

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

謝謝!這是我的主要問題,所以答案被接受了 – lincolnk 2010-03-19 13:47:29