Hi,
I'm trying to connect to a database through a dataset (not external DLL file). I was having trouble initially because I don't know how to connect to a SQL Server 2005 CE database. I eventualy got around that by using the dataset and the following code:
Private
Sub btnSelectReport_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSelectReport.Click
If Me.txtReportName.Text = "" Then
MsgBox(
"Please select a report file before proceeding.")
Exit Sub
End If
strFileName =
"rassdk://" + Me.txtReportName.Text
Me.ReportFile.FileName = strFilename
Try
'This code is designed to be dynamic to allow access to multiple datasets based on numbers tacked on to the end of the report file.
'For the record, I hate doing it this way, but its all I've got right now
intDSNumber = CType(strFilename.Substring(strFilename.IndexOf("--", 1) + 2, 1), Integer)
intTableNumber1 =
CType(strFilename.Substring(strFilename.IndexOf("--", 1) + 3, 1), Integer)
intTableNumber2 =
CType(strFilename.Substring(strFilename.IndexOf("--", 1) + 4, 1), Integer)
intTableNumber3 =
CType(strFilename.Substring(strFilename.IndexOf("--", 1) + 5, 1), Integer)
Catch ex As Exception
MsgBox(ex.Message & vbNewLine & vbNewLine &
"This may not be a valid AdvancedPFM Report File")
End Try
Try
Select Case intDSNumber
Case 0
Me.TblCustomersTableAdapter.Fill(Me.DsCustomersReports.tblCustomers)
Me.ReportFile.SetDataSource(DsCustomersReports.Tables(intTableNumber1))
Case 1
Me.TblCustomersTableAdapter2.Fill(Me.DsPlayerTypeReports.tblCustomers)
Me.TblDateVisitedTableAdapter.Fill(Me.DsPlayerTypeReports.tblDateVisited)
Me.ReportFile.SetDataSource(DsPlayerTypeReports.Tables())
Case Else
MsgBox(
"Incompatible report. Check for software updates.")
End Select
Catch ex As Exception
MsgBox(ex.Message)
End Try
Try
Me.CrystalReportViewer1.ReportSource = Me.ReportFile
Catch ex As Exception
MsgBox(ex.Message & vbNewLine & vbNewLine &
"This may not be a valid AdvancedPFM Report File")
End Try
End Sub
As you can tell, this method is very limited in the number of datasets I program in. Plus, because I'm using the SetDataSource method, I can only designate one table as the source of the information- at least, that what I think at this point.
1- Is there a better way to connect to the database which doesn't require any of this stuff from the file name?
2- If not, how can I connect to two different tables in the dataset where the data is not linked?
3- Also, how can I connect to two different tables in the dataset where one table's records are dependent on their existence in the other table? Or, I;m looking for records in one table that are child records from something in the first table?
I really hope you can help me with this because making a more dynamic report experience is critical to my software.
Thanks for whatever help is offered!
-Will