2011-08-29 37 views
0

我正在使用Delphi XE和FireBird 2.5。未從查詢返回光標

嘗試使用TSQLStoredProc,並給我錯誤「光標不從查詢返回」,當我把活動屬性爲真。

storedproc

CREATE PROCEDURE NEW_PROCEDURE 
RETURNS(
    RDO SMALLINT) 
AS 
BEGIN 
    Rdo = 5; 
    /* Procedure body */ 
    SUSPEND; 
END; 

回答

2

的一個虛擬的例子,我認爲你應該使用ExecProc方法,而不是打開/主動。只有當您的SQL語句返回一個ResultSet(一組記錄)時,才能將Active設置爲true,而您的SQL語句不會。

問候,

斯特凡

+5

它確實,不是嗎?它應該返回一列1列的結果集。 'SUSPEND;'語句使其可選。 –

3

作爲一種變通方法,像SELECT * FROM NEW_PROCEDURE查詢應該工作(使用TSQLQuery)。