2013-10-18 26 views
0

我創建在C#程序鏈接到數據庫。我遇到的問題是我想建立一個關於特定顧客的銷售的水晶報告(一直以來,一個人購買了一件商品)。我想從數據綁定組合框中選擇那個人。然後點擊按鈕並讓報告顯示只有一個人購買。 我創建了不幸顯示所有客戶端的水晶報表。Crystal報表發送參數指定

我如何發送一個特定的客戶到該Crystal報表?

+0

爲什麼不只是從數據庫中檢索單個用戶的數據? – Anand

+0

使用查詢?以及如何獲取報告以使用該查詢? –

+0

您必須將數據源附加到報告中,對嗎?您只需過濾查詢。 – Anand

回答

0

的SQL查詢與參數如果您想使用組合框,是您的最佳選擇。這裏有一個小例子,你如何做到這一點:

string customer = ComboBox.Text; 
string connectionString = 
ConsoleApplication1.Properties.Settings.Default.ConnectionString; 
using (SqlConnection connection = new SqlConnection(connectionString)) 
{ 
connection.Open(); 
using (SqlCommand command = new SqlCommand(
"SELECT * FROM table WHERE table.customer LIKE @Name", connection)) 
{ 
// 
// Add new SqlParameter to the command. 
// 
command.Parameters.Add(new SqlParameter("Name", customer)); 

...等等。您還可以向報告本身添加一個參數,並且每次運行報告時都會提示您輸入該值。這可能會更容易,我不確定它是否比其他選項慢。

希望幫助,

克里斯

0

像阿南德說濾波的數據庫將提供更好的性能爲您的報告,但如果你想要一個paramenter發送到Crystal Reports你只是必須通過代碼來設置它

myDataReport.SetParameterValue("parameterName", parameterValue);