Visual Basic中的过滤和参数化

时间:2013-03-15 04:11:26

标签: database sql-server-2005 parameters textbox reportviewer

我遇到一个错误,上面写着“无法执行tablix'blah'的FilterExpression处理。无法比较System.Decimal和System.Double类型的数据。请检查FilterExpression返回的数据类型。”

在我放入TotalDue之前它正在工作,但之后它显示我是一个错误。

我已经为其他tablix做了一些参数,这就是我所做的:

在我的RDLC中我有pIDNo, pDocID, pLname, pFname, pMI,依旧等等......

我有一个参数:

@pIDno, @DocID, @Lname, @Fname, @MI, blah and blah.

在我的报告查看器上我为所有列添加了一些文本框,这就是我所做的:

Imports Microsoft.Reporting.WinForms

Public Class printall

 Private Sub parID()
        Me.PatientsTableAdapter.Fill(Me.OJTDataSet.Patients)
        Dim ID As New ReportParameter("pIDno", txtID.Text)
        ReportViewer1.LocalReport.SetParameters(New ReportParameter() {ID})
        ReportViewer1.RefreshReport()
    End Sub

Private Sub txtID_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)    
 Handles txtID.TextChanged
        parID()
    End Sub

 Private Sub partotalDUe()
        Me.PatientsTableAdapter.Fill(Me.OJTDataSet.Patients)
        Dim TotalDue As New ReportParameter("TotalDue", txtTotalDue.Text)
        ReportViewer1.LocalReport.SetParameters(New ReportParameter() {TotalDue})
        ReportViewer1.RefreshReport()
    End Sub

  Private Sub txtTotalDue_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTotalDue.TextChanged
            partotalDUe()
        End Sub

我在这里做的是我为每个TextChanged创建一个Private Sub,我没有把它放在这里,因为它已经有点混乱了,我确实更改了Dim中的所有Declared值和{的名称{1}}以及Parameter

我现在的问题是如何修复TotalDue部分?因为我的数据库中的价值是这样的钱:

1234.0000

所有Tablix都运行良好并显示在我的TextBox中,但唯一的错误是TotalDue,如何修复它?

提前致谢!

请在这里指导我。

0 个答案:

没有答案