أكثر

Vb.net arcobjects تعيين قيم حقل مختلفة في جدول البيانات الجدولية

Vb.net arcobjects تعيين قيم حقل مختلفة في جدول البيانات الجدولية


أحتاج إلى تعيين قيم حقل مختلفة في جدول السمات. جدول البيانات كما يلي:

على سبيل المثال ، أريد الحصول على قيمة "DrainName" عند "BQ no." = "22/22" و "معرف الجزء" = "22 / 22-1". يجب أن ترجع النتيجة قيمتين.

هل هناك طريقة vb.net للقيام بذلك؟ شكرا.


متابعة من Arcpy السابق SearchCursor إرجاع قيمة OBJECTID ليس كعدد صحيح

Dim pQF كـ ESRI.ArcGIS.Geodatabase.IQueryFilter = New ESRI.ArcGIS.Geodatabase.QueryFilter () pQF.WhereClause = "BQ no. = '22 / 22 'ومعرف الجزء = '22 / 22-1'" "بالضبط مثل التحديد حسب السمات 'Dim pCur كـ ESRI.ArcGIS.Geodatabase.ICursor = pTable.Search (pQF، False)' افتح المؤشر 'Dim pFieldIndex As Integer = pTable.Fields.FindField ("DrainName")' احصل على فهرس لـ الحقل "DrainName" أو -1 إذا لم يتم العثور على Dim pRow مثل ESRI.ArcGIS.Geodatabase.IRow = pCur.NextRow 'الصف الأول' Do until pRow Is Nothing Debug.Print (pRow.Value (pFieldIndex)) 'افعل شيئًا مهمًا هنا 'pRow = pCur.NextRow Loop

للحد من الصفوف التي تم إرجاعها ، استخدم واجهة IQueryFilter (أو ISpatialFilter - واحدة أخرى مفيدة إذا كنت تريد التحديد حسب الموقع).

في VB تحصل على القيمة من خلال فهرسها وليس اسم الحقل ؛ للحصول على الفهرس ، استخدم ITable.Fields.FindField (IFeatureClass.Fields.FindField هو نفسه) للحصول على الفهرس.

لدي شعور بأن لديك أسماء مستعارة للحقول وليست أسماء حقول ، والتي قد تسبب مشاكل مع مكان سبب الاستعلام - استخدم أسماء الحقول بدلاً من ذلك للحصول على نتائج أفضل.