2012-10-22 107 views
0

使用Crystal Report 9和VB.Net如何將參數傳遞給存儲過程

報告正在運行存儲過程,我想將數據傳遞給存儲過程。

怎麼辦?

在VB6中,我確實喜歡這樣。

Report.ReportFileName = REPPATH & "\Detail.rpt" 
Report.StoredProcParam(0) = Did 
Report.StoredProcParam(1) = Deed 
Report.Action = 1 

如何在vb.net中做到這一點?

回答

2

我認爲像下面應該工作:

的setDataSource有這樣4個將覆蓋所有需要一個IEnumerable像對象作爲參數。但是,這已經與CR 13做了VS 2010 ...我希望你會發現一些像CR 9

Dim report As New CrystalReport1 
    Dim sqla = New SqlDataAdapter() 
    sqla.SelectCommand.Connection = New SqlConnection(sConnectionString) 
    sqla.SelectCommand = New SqlCommand("EXEC storedProcName @a, @b, @c") 
    sqla.SelectCommand.Parameters.Add("@a", paramA) 
    sqla.SelectCommand.Parameters.Add("@a", paramB) 
    sqla.SelectCommand.Parameters.Add("@a", paramC) 

    report.SetDataSource(sqla) 
    //'If you do not have parameters, you may use : 
    report.SetDataSource(New SqlDataAdapter("EXEC storedProcName ", sConnectionString)) 

    report.Refresh() 

編輯:sqla.SelectCommand.Parameters.Add("@a", paramA)在CR13版本貶值。代替使用sqla.SelectCommand.Parameters.AddWithValue("@a", paramA)

相關問題