问题
I am running a report with 3 parameters. The second parameter gets populated according to the value selected in the First parameter and the third parameter gets populated according to the second.
I can select multiple values in 2nd and 3rd parameter.
When I select 2 values in the second parameter the third one get populated and when I do SELECT ALL even then it works .
But when I select 3 or more values it throws an error.
An error has during local reporting
Cannot read the next data row for the dataset 'Dataset3',
Conversion Failed when converting the varchar value '430.2' to datatype int
Can you please tell me what my approach should be.
回答1:
Can you please tell me what my approach should be.
The problem is with the data and the dataset queries. You should run the query behind dataset 2 and determine what the 3 values are that start giving you trouble. Inspect if those values are in fact of the correct data type (the type of your parameter). Quite possibly one of the values is "430.2" whereas the type of your parameter is INT.
If that doesn't work, then you should execute your query behind dataset 3 so that the parameter in the WHERE myval IN (@Param3)
bit is replaced by a comma-seperated list of the values you retrieved with the earlier query.
If those both turn up nothing then the next step may be to run the SQL Profiler and pick up the actual queries SSRS is sending to the server. Pick out those queries, and try to run them manually to debug the problem.
One additional thing you may want to check is if the field mapping settings for your datasets matches the types that are actually returned by the dataset queries.
来源:https://stackoverflow.com/questions/13180747/cannot-read-the-next-data-row-for-the-dataset-dataset3-conversion-failed-when