3

I have converted a shapefile into a geodatabase which I use for geocoding via the ILocator interface. It has the extension (.mdb) and contains address fields with a point which is stored as a long binary object (I think). I have queried it directory using libraries like OleDB. I'm wondering if there's a way to do a SELECT * FROM mytable using the ArcEngine interfaces.

I'll provide some context as well. I'm trying to get around the inflexibility of the SoundEx implementation and some limitations with the locator styles. The locator style interace works like this for address search results:

IField addressField = candidateFields.get_Field(fieldIndex);

But the fields returned only match the fields in the locator, so I get "Zone" and not city, state, zip, unit number, owner name, parcel price, etc.

2
  • If performance is a key, I'd use file geodatabase (stored in a folder with a .gdb extension). I don't think you'd be able to use OleDB with a file gdb though. Are you following this example? Commented Apr 22, 2011 at 22:34
  • @Kirk Kuykendall Yeah I'm using that example.
    – patrick
    Commented Apr 25, 2011 at 15:06

2 Answers 2

3

No, the ArcEngine/ArcObjects APIs all wrap the Datalayer to support the GIS functions for the common classes. Your best option is to create a class in your development language to perform your Query/Search logic natively and if needed return those results and cast them into a ESRI format.

You will also find this is fast as you won't have the direct overhead of the ArcObjects calls wrapping everything you do.

1

I might be misreading your question, but if you are indeed trying to query the table directly, you can create a QueryFilter and set the SubFields property to include all of the fields you need in the returned cursor.

1
  • I suspect he is trying to get to normal SQL functions that you just can't do in the ArcObjects world. Maybe I am wrong...
    – D.E.Wright
    Commented Apr 24, 2011 at 2:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.