希望你能幫助我。我有一個Crystal Report文件,我想知道在報告中使用的存儲過程的名稱是什麼。我怎樣才能通過後面的代碼來檢索它。這可能嗎?檢索水晶報告條形過程
C#代碼會更好,因爲我在c#中編寫代碼。
TIA!
希望你能幫助我。我有一個Crystal Report文件,我想知道在報告中使用的存儲過程的名稱是什麼。我怎樣才能通過後面的代碼來檢索它。這可能嗎?檢索水晶報告條形過程
C#代碼會更好,因爲我在c#中編寫代碼。
TIA!
假設你在獲取SP的名稱只是有興趣,然後有來解決這個幾種不同的方法:
如果有水晶報表...
打開設置數據源位置對話框。底部窗格中將顯示可用數據庫對象的樹視圖,其中包括存儲過程列表。突出顯示的SP將是它調用來檢索報告數據的那個SP。
如果這沒有幫助(即:沒有突出顯示的存儲過程),那麼在報告設計器區域中單擊,選擇Database -> Show SQL Query
。這將顯示用於從數據庫檢索數據的查詢。它可能會有一個存儲過程的名稱。
如果你沒有水晶報表...
使用this code從Code Project加載您的報告到C#,並從那裏穿過的報告。 http://www.codeproject.com/KB/cs/loadingcrystalreport.aspx
如果沒有幫助(即:你沒有準備好應付的Crystal Reports的C#方面),那麼你可以使用你的數據庫的分析工具來窺探通話從報表看哪個SP (s)它正在調用獲取運行報告所需的數據。 SQL Server的SQL Profiler
就是一個很好的工具。這裏有一些教程,以幫助讓你去:
Unfortuna確實沒有辦法通過編程來實現這一點。您可以看到數據源,設置數據源,但不能通過Crystal Reports設計器檢索用於生成報告的實際SQL。
實際上,您可以通過編程方式獲得用於使用CrystalDecisions.CrystalReports.Engine命名空間生成報表的實際SQL。查看'SQLExpressionFieldDefinition'類,它包含了所有需要的信息,包括實際的SQL表達式文本。 http://msdn.microsoft.com/en-us/library/ms226202(v=VS.90).aspx。 – CobaltBlue
Doh,我的錯!謝謝,我其實也需要這樣做:) –
:)水晶報告是非常棘手的東西。我大部分時間都在努力製作他們的API的正面或反面,他們似乎改變了每一個版本。呵呵。 – CobaltBlue