<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
{mso-style-priority:99;
mso-style-link:"Plain Text Char";
margin:0cm;
margin-bottom:.0001pt;
font-size:10.5pt;
font-family:Consolas;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
span.PlainTextChar
{mso-style-name:"Plain Text Char";
mso-style-priority:99;
mso-style-link:"Plain Text";
font-family:Consolas;}
.MsoChpDefault
{mso-style-type:export-only;}
@page Section1
{size:612.0pt 792.0pt;
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.Section1
{page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=EN-IN link=blue vlink=purple>
<div class=Section1>
<p class=MsoPlainText>hi ,<o:p></o:p></p>
<p class=MsoPlainText>i am using fdo in which i want to use join operation
between 3 tables i have 3 tables 1.wkslayer 2.layer_metadata 3.layermap
4.featuretable<o:p></o:p></p>
<p class=MsoPlainText><o:p> </o:p></p>
<p class=MsoPlainText>i am using join between these table but not getting the
desired result, during the execution i found that while selecting other table
through FdoIdentifier.<o:p></o:p></p>
<p class=MsoPlainText>is my procedure to select table name via FdoIdentifier is
right OR i am making mistake in filter operation.<o:p></o:p></p>
<p class=MsoPlainText>If i specify name of incorrect table in FDOIdentifier
even then it does show any error in execution but result is same as data of
main class name (set in setFeatureClass name).<o:p></o:p></p>
<p class=MsoPlainText><o:p> </o:p></p>
<p class=MsoPlainText>plese help me in this<o:p></o:p></p>
<p class=MsoPlainText><o:p> </o:p></p>
<p class=MsoPlainText>FdoPtr<FdoISelect> sel =<o:p></o:p></p>
<p class=MsoPlainText>static_cast<FdoISelect*>(fdoConnection->CreateCommand(FdoCommandType_Select));<o:p></o:p></p>
<p class=MsoPlainText><o:p> </o:p></p>
<p class=MsoPlainText> FdoPtr<FdoIdentifier> fcpoint =
FdoIdentifier::Create(L"wkslayer");<o:p></o:p></p>
<p class=MsoPlainText> sel->SetFeatureClassName(fcpoint); <o:p></o:p></p>
<p class=MsoPlainText> FdoPtr<FdoJoinCriteriaCollection> jcrit =
sel->GetJoinCriteria();<o:p></o:p></p>
<p class=MsoPlainText><o:p> </o:p></p>
<p class=MsoPlainText> FdoPtr<FdoIdentifier> jcCls1 =<o:p></o:p></p>
<p class=MsoPlainText>FdoIdentifier::Create(L"layer_metadata");<o:p></o:p></p>
<p class=MsoPlainText> FdoPtr<FdoFilter> flcr1 =<o:p></o:p></p>
<p class=MsoPlainText>FdoFilter::Parse(L"wkslayer.layerid=layer_metadata.layer_id");<o:p></o:p></p>
<p class=MsoPlainText> FdoPtr<FdoJoinCriteria> jc1 =
FdoJoinCriteria::Create(L"layer_metadata",<o:p></o:p></p>
<p class=MsoPlainText>jcCls1, FdoJoinType_Inner, flcr1);<o:p></o:p></p>
<p class=MsoPlainText> jcrit->Add(jc1);<o:p></o:p></p>
<p class=MsoPlainText><o:p> </o:p></p>
<p class=MsoPlainText> FdoPtr<FdoIdentifier> jcCls11 =
FdoIdentifier::Create(L"layermap");<o:p></o:p></p>
<p class=MsoPlainText> FdoPtr<FdoFilter> flcr11 =<o:p></o:p></p>
<p class=MsoPlainText>FdoFilter::Parse(L"layermap.layerid=layer_metadata.layer_id");<o:p></o:p></p>
<p class=MsoPlainText> FdoPtr<FdoJoinCriteria> jc11 =
FdoJoinCriteria::Create(L"layermap",<o:p></o:p></p>
<p class=MsoPlainText>jcCls11, FdoJoinType_Inner, flcr11);<o:p></o:p></p>
<p class=MsoPlainText> jcrit->Add(jc11);<o:p></o:p></p>
<p class=MsoPlainText><o:p> </o:p></p>
<p class=MsoPlainText> FdoPtr<FdoIdentifier> jcCls12 =
FdoIdentifier::Create(L"featuretable");<o:p></o:p></p>
<p class=MsoPlainText> FdoPtr<FdoFilter> flcr12 =<o:p></o:p></p>
<p class=MsoPlainText>FdoFilter::Parse(L"featuretable.feature_id=layermap.layerid");<o:p></o:p></p>
<p class=MsoPlainText> FdoPtr<FdoJoinCriteria> jc12 =
FdoJoinCriteria::Create(L"featuretable",<o:p></o:p></p>
<p class=MsoPlainText>jcCls12, FdoJoinType_Inner, flcr12);<o:p></o:p></p>
<p class=MsoPlainText> jcrit->Add(jc12);<o:p></o:p></p>
<p class=MsoPlainText><o:p> </o:p></p>
<p class=MsoPlainText><o:p> </o:p></p>
<p class=MsoPlainText><o:p> </o:p></p>
<p class=MsoPlainText><o:p> </o:p></p>
<p class=MsoPlainText><o:p> </o:p></p>
<p class=MsoPlainText> FdoPtr<FdoIFeatureReader> queryResults =
sel->Execute();<o:p></o:p></p>
<p class=MsoPlainText><o:p> </o:p></p>
<p class=MsoPlainText> while (queryResults->ReadNext())<o:p></o:p></p>
<p class=MsoPlainText> {<o:p></o:p></p>
<p class=MsoPlainText> FdoPtr<FdoClassDefinition>
classDef = queryResults->GetClassDefinition();<o:p></o:p></p>
<p class=MsoPlainText> FdoPtr<FdoPropertyDefinitionCollection> properties
=<o:p></o:p></p>
<p class=MsoPlainText>classDef->GetProperties();<o:p></o:p></p>
<p class=MsoPlainText> FdoInt32 numProperties = 0;<o:p></o:p></p>
<p class=MsoPlainText> FdoPropertyDefinition * propertyDef;<o:p></o:p></p>
<p class=MsoPlainText> FdoPropertyType propertyType;<o:p></o:p></p>
<p class=MsoPlainText> FdoDataType dataType;<o:p></o:p></p>
<p class=MsoPlainText> FdoString * propertyName = NULL;<o:p></o:p></p>
<p class=MsoPlainText> FdoDataPropertyDefinition *
dataPropertyDef;<o:p></o:p></p>
<p class=MsoPlainText> <o:p></o:p></p>
<p class=MsoPlainText> // loop through the properties<o:p></o:p></p>
<p class=MsoPlainText> numProperties =
properties->GetCount();<o:p></o:p></p>
<p class=MsoPlainText> for(int i = 0; i < numProperties;
i++)<o:p></o:p></p>
<p class=MsoPlainText> {<o:p></o:p></p>
<p class=MsoPlainText> propertyDef = properties->GetItem(i);<o:p></o:p></p>
<p class=MsoPlainText> // get the property name and
property type<o:p></o:p></p>
<p class=MsoPlainText> propertyName =
propertyDef->GetName();<o:p></o:p></p>
<p class=MsoPlainText> if
(!wcscmp(propertyName,L"csid"))<o:p></o:p></p>
<p class=MsoPlainText> {<o:p></o:p></p>
<p class=MsoPlainText> playerId =
queryResults->GetInt32(propertyName);<o:p></o:p></p>
<p class=MsoPlainText> break;<o:p></o:p></p>
<p class=MsoPlainText> }<o:p></o:p></p>
<p class=MsoPlainText> <o:p></o:p></p>
<p class=MsoPlainText> }<o:p></o:p></p>
<p class=MsoPlainText> }<o:p></o:p></p>
<p class=MsoPlainText><o:p> </o:p></p>
<p class=MsoPlainText><o:p> </o:p></p>
<p class=MsoPlainText><o:p> </o:p></p>
<p class=MsoPlainText><o:p> </o:p></p>
<p class=MsoPlainText>--<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
</div>
</body>
</html>