Connecting Tech Pros Worldwide Forums | Help | Site Map

Multiple Key Relations

Randy Fraser
Guest
 
Posts: n/a
#1: Nov 21 '05

How do I create a relationship on muliple columns in an untyped dataset.

Why does this not work.

da.Fill(ds)
ds.Tables(0).TableName = "DesignSummary"
ds.Tables(1).TableName = "FormulaSummary"
ds.Tables(2).TableName = "MaterialSummary"
ds.Tables(3).TableName = "ItemUsage"
ds.Tables(5).TableName = "UsageSummary"
Dim dcDesignSummaryKey As DataColumn() =
{ds.Tables(0).Columns("WorkOrderID"), ds.Tables(0).Columns("DesignID"),
ds.Tables(0).Columns("MachineCode")}
Dim dcFormulaSummaryKey As DataColumn() =
{ds.Tables(1).Columns("WorkOrderID"), ds.Tables(1).Columns("DesignID"),
ds.Tables(1).Columns("MachineCode")}
Dim dcMaterialSummaryKey As DataColumn() =
{ds.Tables(2).Columns("WorkOrderID"), ds.Tables(2).Columns("DesignID"),
ds.Tables(2).Columns("MachineCode")}
Dim dcItemUsageSummaryKey As DataColumn() =
{ds.Tables(3).Columns("WorkOrderID"), ds.Tables(3).Columns("DesignID"),
ds.Tables(3).Columns("MachineCode")}
ds.Relations.Add("DesignFormulaRelation", dcDesignSummaryKey,
dcFormulaSummaryKey, False)
ds.Relations.Add("DesignMaterialRelation", dcDesignSummaryKey,
dcMaterialSummaryKey, False)
ds.Relations.Add("DesignItemUseageRelation", dcDesignSummaryKey,
dcItemUsageSummaryKey, False)


Best Regards
Randy



tkent
Guest
 
Posts: n/a
#2: Nov 21 '05

re: Multiple Key Relations


You may have better luck if you individually fill each table - I could
never get the "multi fill" thing to work to begin with.

the following worked for me with trees nested 3 nodes deep...

Dim sql As String
Dim DSRptSetup As DataSet

sql = ya
Dim DAReportNames As New SqlClient.SqlDataAdapter(sql, SqlConn)

sql = yadd
Dim DAReportLineItems As New SqlClient.SqlDataAdapter(sql,
SqlConn)

sql = yadda
Dim DALineItemAccounts As New SqlClient.SqlDataAdapter(sql,
SqlConn)

DSRptSetup = New DataSet

DAReportNames.Fill(DSRptSetup, "dtReportNames")
DAReportLineItems.Fill(DSRptSetup, "dtLineItems")
DALineItemAccounts.Fill(DSRptSetup, "dtLineItemAccounts")


Dim dcLINEITEMSummaryKey As DataColumn() =
{DSRptSetup.Tables("dtLineItems").Columns("rptCntn t_id"),
DSRptSetup.Tables("dtLineItems").Columns("rptNames _id")}

Dim dcACCOUNTSummaryKey As DataColumn() =
{DSRptSetup.Tables("dtLineItemAccounts").Columns(" rptCntnt_id"),
DSRptSetup.Tables("dtLineItemAccounts").Columns("r ptNames_id")}



DSRptSetup.Relations.Add("RptToLineItem",
DSRptSetup.Tables("dtReportNames").Columns("rptNam es_id"),
DSRptSetup.Tables("dtLineItems").Columns("rptNames _id"))


DSRptSetup.Relations.Add("LineItemToAccnts",
dcLINEITEMSummaryKey, dcACCOUNTSummaryKey, False)


then fill trees...



Randy Fraser wrote:[color=blue]
> How do I create a relationship on muliple columns in an untyped[/color]
dataset.[color=blue]
>
> Why does this not work.
>
> da.Fill(ds)
> ds.Tables(0).TableName = "DesignSummary"
> ds.Tables(1).TableName = "FormulaSummary"
> ds.Tables(2).TableName = "MaterialSummary"
> ds.Tables(3).TableName = "ItemUsage"
> ds.Tables(5).TableName = "UsageSummary"
> Dim dcDesignSummaryKey As DataColumn() =
> {ds.Tables(0).Columns("WorkOrderID"),[/color]
ds.Tables(0).Columns("DesignID"),[color=blue]
> ds.Tables(0).Columns("MachineCode")}
> Dim dcFormulaSummaryKey As DataColumn() =
> {ds.Tables(1).Columns("WorkOrderID"),[/color]
ds.Tables(1).Columns("DesignID"),[color=blue]
> ds.Tables(1).Columns("MachineCode")}
> Dim dcMaterialSummaryKey As DataColumn() =
> {ds.Tables(2).Columns("WorkOrderID"),[/color]
ds.Tables(2).Columns("DesignID"),[color=blue]
> ds.Tables(2).Columns("MachineCode")}
> Dim dcItemUsageSummaryKey As DataColumn() =
> {ds.Tables(3).Columns("WorkOrderID"),[/color]
ds.Tables(3).Columns("DesignID"),[color=blue]
> ds.Tables(3).Columns("MachineCode")}
> ds.Relations.Add("DesignFormulaRelation",[/color]
dcDesignSummaryKey,[color=blue]
> dcFormulaSummaryKey, False)
> ds.Relations.Add("DesignMaterialRelation",[/color]
dcDesignSummaryKey,[color=blue]
> dcMaterialSummaryKey, False)
> ds.Relations.Add("DesignItemUseageRelation",[/color]
dcDesignSummaryKey,[color=blue]
> dcItemUsageSummaryKey, False)
>
>
> Best Regards
> Randy[/color]

Closed Thread