Crystal Reports,Visual Basic 2010和mysql报告
我试图在Crystal Reports中创建报告,但是当我将参数分配给报告时,它不显示选择查询的结果。它显示表格的所有列,尽管选择查询的结果是正确的。这是我的代码:Crystal Reports,Visual Basic 2010和mysql报告
Dim ulogueado, consulta As String
consulta = "select nombre from usuario where usuario = @user"
Dim lector1 As MySqlDataReader
Dim comando As New MySqlCommand(consulta, conector)
comando.Parameters.AddWithValue("@user", usuario_conectado)
Try
lector1 = comando.ExecuteReader()
If lector1.Read Then
ulogueado = lector1.GetString(0)
End If
Dim reporte1 As New CrystalReport3
reporte1.SetDataSource(lector1.GetString(0))
reportes1.CrystalReportViewer1.ReportSource = reporte1
reportes1.CrystalReportViewer1.RefreshReport()
Catch ex As Exception
End Try
reportes1.Show()
我几乎可以肯定问题可能在SetDataSource行,但我不知道我还能做什么。我很感谢你对这个问题的关注和合作。
由于documentation说,你需要一个记录集或数据集传送到ReportEngine,而你是通过其返回一个字符串
reporte1.SetDataSource(lector1.GetString(0))
更改语句使用DataReader应该解决问题的DataReader的场如
reporte1.SetDataSource(lector1)
我还没有使用MySqlDataReader作为数据源,但已经使用DataSet来生成效果很好的报告。
您需要检查的另一件事是上面我的comment中提到的保存的数据。如果您在您的报告中使用的参数再有其他的方式来值传递给这些参数,请参阅how-to-pass-values-to-two-different-parameters
编辑:使用DataSet中
Dim ulogueado, consulta As String
consulta = "select nombre from usuario where usuario = @user"
Dim comando As New MySqlCommand(consulta, conector)
comando.Parameters.AddWithValue("@user", usuario_conectado)
Dim da As MySqlDataAdapter = New MySqlDataAdapter()
Dim ds As DataSet = New DataSet()
da.SelectCommand = comando
Try
da.Fill(ds, "usuario")
Dim reporte1 As New CrystalReport3
reporte1.SetDataSource(ds)
reportes1.CrystalReportViewer1.ReportSource = reporte1
reportes1.CrystalReportViewer1.RefreshReport()
Catch ex As Exception
'Check for errors here
'MsgBox(ex.Message)
End Try
reportes1.Show()
有关DataAdapters更多信息,DataSet中你可以看一下这SO post connecting-to-a-mysql-db-with-c-sharp-need-some-with-datasets
嗨,谢谢你的答案。我已经尝试过 reporte1.SetDataSource(lector1) 但出现此错误: 错误重载解析,因为没有访问'SetDataSource'函数更具体的这些参数 请问我可以如何使用DataSet或哪里可以找到这个。非常感谢你。 –
检查DataSet的更新 – haraman
你有没有检查http://stackoverflow.com/questions/8676448/my-crystal-report-is-not-getting-refreshed-while-passing-parameter – haraman