2
我是Delphi新手,試圖找到我在SQL Server中調用某些存儲過程的方法。通過Delphi傳遞SQL Server存儲過程參數名稱
這是我目前一直使用的代碼和工程....
FConnection := TADOConnection.Create(nil);
FMetaDataSP := TADOStoredProc.Create(nil);
LoadDBSettings;
FMetaDataSP.Connection := FConnection;
FMetaDataSP.ProcedureName := 'Messaging.ListMessageSections';
FMetaDataSP.Parameters.CreateParameter('@ReferralID', ftInteger, pdInput, 4, null);
FMetaDataSP.Parameters.CreateParameter('@ConsumerID', ftInteger, pdInput, 4, null);
Dataset := FMetaDataSP;
FMetaDataSP.Parameters.ParamByName('@ReferralID').Value := ReferralID;
FMetaDataSP.Parameters.ParamByName('@ConsumerID').Value := ConsumerID;
....但是當我做在SQL Server中我看到一個輪廓,這是SQL是被執行。
exec Messaging.ListMessageSections 1,1
我想是這樣的,而不是...
exec Messaging.ListMessageSections @ReferralID=1, @ConsumerID=1
讓代碼庫中的參數的順序並不重要。
這可能嗎?
可能重複http://stackoverflow.com/questions/1159489/a-better-way-of-passing-parameters-to- a-tadostoredproc-delphi) –
不是真的,..至少不是從我坐的位置...如果我使用Parameters.Refresh方法,我得到「exec Messaging.ListMessageSections 1,default,1」作爲調用SQL而不是指定版本的參數。當然這可能是德爾福不能做的事情。我知道.NET的確如此,但Delphi對我來說是新的。 – Shaun