<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Fehler beim schreiben auf MS-Access Datenbank mittels OleDb]]></title><description><![CDATA[<p>Hallo, ich habe ein Access-Datenbank mit einen Primärschlüssel gesetzt auf (Auto)Increment.</p>
<pre><code class="language-cpp">CTable&lt;CDynamicAccessor&gt; rs;

CDBPropSet propset(DBPROPSET_ROWSET);
propset.AddProperty(DBPROP_IRowsetChange, true);
propset.AddProperty(DBPROP_UPDATABILITY, DBPROPVAL_UP_CHANGE | DBPROPVAL_UP_INSERT | DBPROPVAL_UP_DELETE);

HRESULT hr=rs.Open(session, szTableName, &amp;propset, 1);
//hr is ok

bool bRet;
bRet=rs.SetStatus((ULONG)1, DBSTATUS_S_ISNULL);  //primärschlüssel
UINT val=2;
bRet=rs.SetValue(((ULONG)2, (UINT*)val);         //setze col=2

hr=rs.Insert();                                  
if(FAILED(hr))
{
  // kein fehler aber DB_S_ERRORSOCCURRED
}

//Ergebnis DB_S_ERRORSOCCURRED, schauen wir mal

//An error occurred while returning data for one or more columns, 
//but data was successfully returned for at least one column

DBSTATUS status;
rs.GetStatus(((ULONG)0, &amp;status);          //DBSTATUS_E_INTEGRITYVIOLATION
rs.GetStatus(((ULONG)1, &amp;status);          //DBSTATUS_E_INTEGRITYVIOLATION
</code></pre>
<p>Die Daten werden ordnungsgemäß geschrieben und der Primärschlüssel (Auto)<br />
Inrement wir auf einen neuen Wert gesetzt.</p>
<p>Meine Frage was ist DBSTATUS_E_INTEGRITYVIOLATION &quot;The data value violated an integrity constraint&quot;<br />
(das ist schon klar??) aber wie kann ich diese Fehlermeldung vermeiden.</p>
<p>Eigendlich sollte das Ergebnis S_OK sein.</p>
<p>Hat jemand von euch eine Idee?</p>
<p>Volker</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/68044/fehler-beim-schreiben-auf-ms-access-datenbank-mittels-oledb</link><generator>RSS for Node</generator><lastBuildDate>Sat, 06 Jun 2026 16:26:03 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/68044.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 14 Mar 2004 13:17:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fehler beim schreiben auf MS-Access Datenbank mittels OleDb on Sun, 14 Mar 2004 13:36:03 GMT]]></title><description><![CDATA[<p>Hallo, ich habe ein Access-Datenbank mit einen Primärschlüssel gesetzt auf (Auto)Increment.</p>
<pre><code class="language-cpp">CTable&lt;CDynamicAccessor&gt; rs;

CDBPropSet propset(DBPROPSET_ROWSET);
propset.AddProperty(DBPROP_IRowsetChange, true);
propset.AddProperty(DBPROP_UPDATABILITY, DBPROPVAL_UP_CHANGE | DBPROPVAL_UP_INSERT | DBPROPVAL_UP_DELETE);

HRESULT hr=rs.Open(session, szTableName, &amp;propset, 1);
//hr is ok

bool bRet;
bRet=rs.SetStatus((ULONG)1, DBSTATUS_S_ISNULL);  //primärschlüssel
UINT val=2;
bRet=rs.SetValue(((ULONG)2, (UINT*)val);         //setze col=2

hr=rs.Insert();                                  
if(FAILED(hr))
{
  // kein fehler aber DB_S_ERRORSOCCURRED
}

//Ergebnis DB_S_ERRORSOCCURRED, schauen wir mal

//An error occurred while returning data for one or more columns, 
//but data was successfully returned for at least one column

DBSTATUS status;
rs.GetStatus(((ULONG)0, &amp;status);          //DBSTATUS_E_INTEGRITYVIOLATION
rs.GetStatus(((ULONG)1, &amp;status);          //DBSTATUS_E_INTEGRITYVIOLATION
</code></pre>
<p>Die Daten werden ordnungsgemäß geschrieben und der Primärschlüssel (Auto)<br />
Inrement wir auf einen neuen Wert gesetzt.</p>
<p>Meine Frage was ist DBSTATUS_E_INTEGRITYVIOLATION &quot;The data value violated an integrity constraint&quot;<br />
(das ist schon klar??) aber wie kann ich diese Fehlermeldung vermeiden.</p>
<p>Eigendlich sollte das Ergebnis S_OK sein.</p>
<p>Hat jemand von euch eine Idee?</p>
<p>Volker</p>
]]></description><link>https://www.c-plusplus.net/forum/post/480072</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/480072</guid><dc:creator><![CDATA[vdittrich]]></dc:creator><pubDate>Sun, 14 Mar 2004 13:36:03 GMT</pubDate></item></channel></rss>