Select to view content in your preferred language

QueryDef with SDE (FeatureQueryClassName)

943
1
06-10-2013 02:02 AM
AndreaDoberstein
Deactivated User
Hi!
I'm using a queryDef to join two featurceclasses and built a new featureclass. Later this new featureclass is seleted by queryfilter and the selectionset is used to make a featureselection. So I can select all objects from featureclass1 that are joined with feaureclass2. With MDB everything works fine.
Now I have to use SDE-FeatureClasses in an version an I get an HRESUL-Error. But I don't know why. I already put the dbname and owner (qualifier) in front of the fc-names.

Here's my code:

           IQueryDef queryDef = ws.CreateQueryDef();

            //Setting the SubFields, Tables, and WhereClause:
            //Single table with a WhereClause
            queryDef.Tables = "dbname.dbowner.ele_kv, dbname.dbowner.ele_stat";
            queryDef.SubFields = "dbname.dbowner.ele_kv.shape, dbname.dbowner.ele_kv.objectid, dbname.dbowner.ele_kv.stat_ref, dbname.dbowner.ele_stat.objectid");
 
             queryDef.WhereClause = "dbname.dbowner.ele_kv.stat_ref = dbname.dbowner.ele_stat.objectid";
            

            //Abfrage als FeatureClass erzeugen
            FeatureQueryNameClass qfcBM = new FeatureQueryNameClass();
            qfcBM.WorkspaceName = ((IDataset)ws).FullName as IWorkspaceName;
            qfcBM.QueryDef = queryDef;
            qfcBM.PrimaryKey = dbname.dbowner.ele_kv.objectid;
            qfcBM.ShapeFieldName = dbname.dbowner.ele_kv.shape;
            qfcBM.Name = "QRY_KV";
            qfcBM.CopyLocally = true;

//DOESN'T WORK!!
            IFeatureClass fcQuery = qfcBM.Open() as IFeatureClass;

Can someone help me please?
Thank you!
Andrea
0 Kudos
1 Reply
AndreaDoberstein
Deactivated User
I use now IRelationshipClass and it works.
0 Kudos