Veri kaynağı olarak DSN
kullandığımda düzgün çalışan kristal raporu var. Sorun şu an veri kümesini kullanıyorum. Veri kümesi ihtiyacım olan tüm tabloyu içerir ve saklı yordamı kullanarak veritabanından veri ile dolduruyorum. Ancak, bu şekilde, bir hata atıyor: "Missing Parameters
".
Adım 1:Veri kümesini kullanırken kristal raporunu düzgün bir şekilde bağlayamazsınız, eksik parametreler gösteriliyor
Ben aşağıda yapıyorum oluşturma Dataset1.xsd
ve tüm o veritabanından tables
gerekli takmadan data connections
kullanarak.
Adım 2: data source
verilmesi ile rapor database expert
3 Adım
Dataset1.xsd
edilmiştir: veri setindeki saklı prosedürü kullanarak veri doldurma ve sonra Dataset 1
örneğine veri kümesinden veri Dataset1
örneği oluşturma ve birleştirme.
Kodum veritabanından veri alıp sonra Dataset1
örneğine o birleştirme ve kristal raporuna kaynak olarak aşağıda olduğu gibi bu verilmesine:
Private Sub ReportByDataset(ByVal rptDoc As CrystalDecisions.CrystalReports.Engine.ReportDocument)
'new code
Dim myConnection As New SqlClient.SqlConnection()
'myConnection.ConnectionString = "server= (local)\NetSDK;database=pubs;Trusted_Connection=yes"
Dim ds As New DataSet1
myConnection.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings("HighriseContractingWebConnectionString").ConnectionString
myConnection.Open()
Dim MyCommand As New SqlClient.SqlCommand()
MyCommand.Connection = myConnection
MyCommand.CommandText = "SP_Web_GetReportTables"
MyCommand.CommandType = CommandType.StoredProcedure
Dim MyDA As New SqlClient.SqlDataAdapter()
MyDA.SelectCommand = MyCommand
Dim myDS As New DataSet
MyDA.Fill(myDS)
myConnection.Close()
ds.Tables("RABill_RPT").Merge(myDS.Tables(0), MissingSchemaAction.Ignore)
myDS.Tables(0).Reset()
ds.Tables("RA_bills").Merge(myDS.Tables(1), MissingSchemaAction.Ignore)
ds.Tables("Work_Completion").Merge(myDS.Tables(2), MissingSchemaAction.Ignore)
ds.Tables("contractor").Merge(myDS.Tables(3), MissingSchemaAction.Ignore)
ds.Tables("WO_Header").Merge(myDS.Tables(4), MissingSchemaAction.Ignore)
ds.Tables("Project").Merge(myDS.Tables(5), MissingSchemaAction.Ignore)
ds.Tables("contractor_1").Merge(myDS.Tables(6), MissingSchemaAction.Ignore)
ds.Tables("Users").Merge(myDS.Tables(7), MissingSchemaAction.Ignore)
ds.Tables("Users_Approved").Merge(myDS.Tables(8), MissingSchemaAction.Ignore)
ds.Tables("voucher").Merge(myDS.Tables(9), MissingSchemaAction.Ignore)
ds.Tables("Employee_Approve").Merge(myDS.Tables(10), MissingSchemaAction.Ignore)
ds.Tables("Employee").Merge(myDS.Tables(11), MissingSchemaAction.Ignore)
ds.Tables("Account").Merge(myDS.Tables(12), MissingSchemaAction.Ignore)
ds.Tables("TDS").Merge(myDS.Tables(13), MissingSchemaAction.Ignore)
ds.Tables("WO_Detail").Merge(myDS.Tables(14), MissingSchemaAction.Ignore)
ds.Tables("V_WO_BlockTaskNo").Merge(myDS.Tables(15), MissingSchemaAction.Ignore)
ds.Tables("TASK").Merge(myDS.Tables(16), MissingSchemaAction.Ignore)
ds.Tables("Cont_Voucher").Merge(myDS.Tables(17), MissingSchemaAction.Ignore)
ds.Tables("Cont_Voucher_1").Merge(myDS.Tables(17), MissingSchemaAction.Ignore)
ds.Tables("Cont_Voucher_2").Merge(myDS.Tables(17), MissingSchemaAction.Ignore)
ds.Tables("Company").Merge(myDS.Tables(18), MissingSchemaAction.Ignore)
''new code ends
rptDoc.SetDataSource(ds)
CRReport.HasCrystalLogo = False
CRReport.HasToggleGroupTreeButton = False
CRReport.ReportSource = rptDoc
CRReport.DataBind()
End Sub
Ama çalışmıyor, ne ben eksik. Aynı DSN
kullanarak iyi çalışıyor. Parametreler sorun değil ve aynı şekilde başka bir şekilde çalışıyor.
Not: Daha sonra resmin altında
veri kaynağı olarak DataSet1 gösterir optimize edebilir, ben kodunun üzerindeki biliyorum bellek optimize değil, ama şimdilik benim endişe nasılsa o iş yapmaktır
Ur ebeveynleri kaçırıyorum sanırım :) – killer
Ne !! Ben seni anlamıyorum – user1923238
bu quedeion bizim ev görevimizdir? – killer