sql - 如何使用 vb.net 将 sql 值设置为水晶报表参数
问题描述
如何将sql值传递给水晶报表参数?我在这里坚持了大约一个星期。请帮助我谢谢大家。
Dim header As New SqlCommand("SELECT SalesOrder.salesorder_id, SalesOrder.sales_code, Delivery.driver_code, SalesOrder.invoice_dt, Delivery.remark, SalesOrder.customer_icno, Delivery.c_name, Delivery.c_hpno, Delivery.address FROM SalesOrder,Delivery WHERE SalesOrder.salesorder_id = Delivery.salesorder_id AND SalesOrder.salesorder_id=" & checkInvoiceReceiptSalesOrderNo.Text, conn)
Using readerObj As SqlClient.SqlDataReader = header.ExecuteReader
While readerObj.Read
Dim paramFields As New ParameterFields()
Dim paramField As New ParameterField()
Dim discreteVal As New ParameterDiscreteValue()
paramField.ParameterFieldName = "son"
Dim str As String
str = readerObj("salesorder_id").ToString()
discreteVal.Value = str
paramField.CurrentValues.Add(discreteVal)
paramFields.Add(paramField)
End While
End Using
解决方案
你这个代码。您可以传递参数值。在此处设置您的值ParameterDiscreteValue.Value = "Your Parameter Value"
并在此处设置参数名称ParameterFieldDefinition = ParameterFieldDefinitions("Parameter Name of Crystal Report")
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim reportViewer As ReportViewer = New ReportViewer()
Dim cryRpt As ReportDocument = New ReportDocument()
cryRpt = New CrystalReport1()
Dim ParameterFieldDefinitions As ParameterFieldDefinitions
Dim ParameterFieldDefinition As ParameterFieldDefinition
Dim ParameterValues As ParameterValues = New ParameterValues()
Dim ParameterDiscreteValue As ParameterDiscreteValue = New ParameterDiscreteValue()
ParameterDiscreteValue.Value = "Your Parameter Value"
ParameterFieldDefinitions = cryRpt.DataDefinition.ParameterFields
ParameterFieldDefinition = ParameterFieldDefinitions("Parameter Name of Crystal Report")
ParameterValues = ParameterFieldDefinition.CurrentValues
ParameterValues.Clear()
ParameterValues.Add(ParameterDiscreteValue)
ParameterFieldDefinition.ApplyCurrentValues(ParameterValues)
reportViewer.crystalReportViewer1.ReportSource = cryRpt
reportViewer.crystalReportViewer1.Refresh()
reportViewer.ShowDialog()
End Sub
推荐阅读
- c# - dbcontext 如何将查询映射到正确的导航属性及其效率
- postgresql - 如何在 Delphi 的 Firedac 中填写 ADT 参数?
- typescript - Typescript父类方法返回类型由子属性更改
- mongodb - MongoDb 提取数组
- c# - 如何在 C# 中读取解析 JSON 字符串
- oracle-sqldeveloper - 如何从 oracle sql 表列中选择最大值并使用该值进行触发器
- reactjs - 用于 Three.js 的 3D 对象的多边形限制
- mysql - 如何在sql中找到具有多个最大值的组的最大值?
- azure - 跨订阅的 Azure 应用程序网关 WAFv2
- javascript - ServiceWorkers 和 ServiceWorkerContainer.prototype.register 如何用于指纹识别和机器人检测