<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Failed to set domain when copying subtype in ArcObjects SDK Questions</title>
    <link>https://community.esri.com/t5/arcobjects-sdk-questions/failed-to-set-domain-when-copying-subtype/m-p/153628#M3965</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Dear All,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I've written the following code trying to copy the subtypes of a feature class, but got the following error message in the set_Domain method, could anyone help point out what's wrong?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Error message: "This database does not support null default values."&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Program:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;private bool copySubTypes(IFeatureLayer pFeatureLayer, IFeatureClass fgdbFeatureClass, IWorkspace fgdbWorkspace)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if (pFeatureLayer == null || pFeatureLayer.FeatureClass == null) return true;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;ISubtypes subtypes = (ISubtypes)pFeatureLayer.FeatureClass;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ISubtypes fgdbSubTypes = (ISubtypes)fgdbFeatureClass;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IWorkspaceDomains fgdbWSdomain = (IWorkspaceDomains)fgdbWorkspace;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;if (!subtypes.HasSubtype) return true;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;fgdbSubTypes.SubtypeFieldName = subtypes.SubtypeFieldName;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;IEnumSubtype enumsubtype;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int subtypeCode;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;string subtypeName;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;IFields pFields = pFeatureLayer.FeatureClass.Fields;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;enumsubtype = subtypes.Subtypes;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;enumsubtype.Reset();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;subtypeName = enumsubtype.Next(out subtypeCode);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;while (subtypeName != null)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;fgdbSubTypes.AddSubtype(subtypeCode, subtypeName);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;for (int iCnt = 0; iCnt &amp;lt; pFields.FieldCount; iCnt++)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;string sFieldName = pFields.get_Field(iCnt).Name;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;object defVal = subtypes.get_DefaultValue(subtypeCode, sFieldName);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if (defVal.ToString().Length &amp;gt; 0)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;fgdbSubTypes.set_DefaultValue(subtypeCode, sFieldName, defVal);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;IDomain pDomain = subtypes.get_Domain(subtypeCode, sFieldName);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if (pDomain != null)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IDomain fgdbDomain = fgdbWSdomain.get_DomainByName(pDomain.Name);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if (fgdbDomain == null)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;return false;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;else&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;fgdbSubTypes.set_Domain(subtypeCode, sFieldName, fgdbDomain);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;subtypeName = enumsubtype.Next(out subtypeCode);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;return true;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Bila&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 24 Nov 2012 00:52:18 GMT</pubDate>
    <dc:creator>ChristineGo</dc:creator>
    <dc:date>2012-11-24T00:52:18Z</dc:date>
    <item>
      <title>Failed to set domain when copying subtype</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/failed-to-set-domain-when-copying-subtype/m-p/153628#M3965</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Dear All,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I've written the following code trying to copy the subtypes of a feature class, but got the following error message in the set_Domain method, could anyone help point out what's wrong?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Error message: "This database does not support null default values."&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Program:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;private bool copySubTypes(IFeatureLayer pFeatureLayer, IFeatureClass fgdbFeatureClass, IWorkspace fgdbWorkspace)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if (pFeatureLayer == null || pFeatureLayer.FeatureClass == null) return true;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;ISubtypes subtypes = (ISubtypes)pFeatureLayer.FeatureClass;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ISubtypes fgdbSubTypes = (ISubtypes)fgdbFeatureClass;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IWorkspaceDomains fgdbWSdomain = (IWorkspaceDomains)fgdbWorkspace;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;if (!subtypes.HasSubtype) return true;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;fgdbSubTypes.SubtypeFieldName = subtypes.SubtypeFieldName;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;IEnumSubtype enumsubtype;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int subtypeCode;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;string subtypeName;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;IFields pFields = pFeatureLayer.FeatureClass.Fields;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;enumsubtype = subtypes.Subtypes;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;enumsubtype.Reset();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;subtypeName = enumsubtype.Next(out subtypeCode);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;while (subtypeName != null)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;fgdbSubTypes.AddSubtype(subtypeCode, subtypeName);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;for (int iCnt = 0; iCnt &amp;lt; pFields.FieldCount; iCnt++)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;string sFieldName = pFields.get_Field(iCnt).Name;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;object defVal = subtypes.get_DefaultValue(subtypeCode, sFieldName);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if (defVal.ToString().Length &amp;gt; 0)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;fgdbSubTypes.set_DefaultValue(subtypeCode, sFieldName, defVal);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;IDomain pDomain = subtypes.get_Domain(subtypeCode, sFieldName);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if (pDomain != null)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IDomain fgdbDomain = fgdbWSdomain.get_DomainByName(pDomain.Name);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if (fgdbDomain == null)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;return false;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;else&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;fgdbSubTypes.set_Domain(subtypeCode, sFieldName, fgdbDomain);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;subtypeName = enumsubtype.Next(out subtypeCode);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;return true;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Bila&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 24 Nov 2012 00:52:18 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/failed-to-set-domain-when-copying-subtype/m-p/153628#M3965</guid>
      <dc:creator>ChristineGo</dc:creator>
      <dc:date>2012-11-24T00:52:18Z</dc:date>
    </item>
  </channel>
</rss>

