我正在动态创建水晶报表。当我运行程序并点击一个按钮时,我得到“参数不正确”信息框。我该如何解决这个问题?水晶报表查看器中的“参数不正确”
Imports CrystalDecisions.CrystalReports.Engine Imports CrystalDecisions.ReportSource Imports CrystalDecisions.Shared Imports CrystalDecisions.Windows.Forms Imports System.Data.SqlClient Imports System.Data.OleDb Public Class Form1 Dim objRpt As CrystalReport1 Dim con As New SqlConnection Private Function CreateSelectQueryAndParameters() As String Dim paramFields As ParameterFields Dim paramField As ParameterField Dim paramDiscreteValue As ParameterDiscreteValue paramFields = New ParameterFields Dim query As String = "SELECT " Dim columnNo As Integer = 0 If CheckBox1.Checked Then columnNo = columnNo + 1 query = query.Insert(query.Length, "pcode as Column" + columnNo.ToString()) paramField = New ParameterField() paramField.Name = "col" + columnNo.ToString() paramDiscreteValue = New ParameterDiscreteValue() paramDiscreteValue.Value = "Property Code" paramField.CurrentValues.Add(paramDiscreteValue) paramFields.Add(paramField) End If If CheckBox2.Checked Then columnNo = columnNo + 1 If query.Contains("Column") Then query = query.Insert(query.Length, ", ") End If query = query.Insert(query.Length, "pname as Column" + columnNo.ToString()) paramField = New ParameterField() paramField.Name = "col" + columnNo.ToString() paramDiscreteValue = New ParameterDiscreteValue() paramDiscreteValue.Value = "Property Name" paramField.CurrentValues.Add(paramDiscreteValue) paramFields.Add(paramField) End If For i As Integer = columnNo To 2 columnNo = columnNo + 1 paramField = New ParameterField() paramField.Name = "col" + columnNo.ToString() paramDiscreteValue = New ParameterDiscreteValue() paramDiscreteValue.Value = "" paramField.CurrentValues.Add(paramDiscreteValue) paramFields.Add(paramField) Next CrystalReportViewer1.ParameterFieldInfo = paramFields query += " FROM propdb" TextBox1.Text = query Return query End Function Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim cnn As SqlConnection Dim connString As String Dim query As String connString = "Data Source=RANJITHA-PC;Initial Catalog=hrmdb;Integrated Security=True" cnn = New SqlConnection(connString) cnn.Open() query = CreateSelectQueryAndParameters() If Not query.Contains("Column") Then MessageBox.Show("No selection to display!") Return End If Dim adepter As New SqlDataAdapter(query, cnn) Dim Ds As New DataSet2 adepter.Fill(Ds, "propdb") MsgBox(Ds.Tables(0).Rows.Count) cnn.Close() objRpt = New CrystalReport1() objRpt.SetDataSource(Ds.Tables(0)) Me.CrystalReportViewer1.ReportSource = objRpt Me.CrystalReportViewer1.Refresh() End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub End Class
可能重复[”参数是不正确的“水晶报表查看器”(http://stackoverflow.com/questions/22789841/parameter-is-incorrect-crystal-report-viewer) –
它didn帮助我。请尝试解决我的代码中的问题 – user3422209
你不能两次提出同样的问题! –