<?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[CRecordset, wie komm ich an eine CDBExeption ran, die die Memberfunktion delete wirft ?]]></title><description><![CDATA[<p>Aloha,</p>
<p>ich habe eine Access - DB an mein Projekt angebunden, und greife darauf per ODBC zu in der Form :</p>
<pre><code>CDatabase db;
CTabelle_gtyp rs(&amp;db);  // gesubclasste CRecordset

if(db.OpenEx(&quot;DRIVER=Microsoft Access Driver(*.mdb);ODBC;DBQ=db.mdb;PWD=password;&quot;,CDatabase::noOdbcDialog))
{ 

		rs.Open( CRecordset::dynaset ,&quot;SELECT * FROM Gtyp WHERE ID=10820002&quot;);

etc.

....

}
</code></pre>
<p>Alles wunderbar. Nun werden in der DB Beziehungen deklariert.</p>
<p>Möchte ich jetzt einen Datensatz löschen, der in einer Beziehung steht wirft mir diese Funktion, besser is es, eine CDBException;</p>
<p>CRecordset::Delete<br />
virtual void Delete( );<br />
throw( CDBException );</p>
<pre><code>rs.delete();
</code></pre>
<p>Ein Fenster poppt auf, es steht drin, daß eine Beziehung bestünde, und dieser Datensatz nicht gelöscht werden könne.</p>
<p>Dieses Fenster wird automatisch generiert, ich will aber den Text erweitern, bzw. komplett ändern.</p>
<p>CDBException hat drei Membervaiablen laut MSDN, eine davon beinhaltet den Text für die Messagebox.<br />
Also, so dünkt ich mir, muß ich an die Exception rankommen, um die Nachricht zu ändern.</p>
<p>Ich habe keine Ahnung wie ich die Excaption fangen kann, bzw. an welche Quellcodestelle.</p>
<p>Besten Dank</p>
<p>Grüße</p>
<p>BOA</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/62441/crecordset-wie-komm-ich-an-eine-cdbexeption-ran-die-die-memberfunktion-delete-wirft</link><generator>RSS for Node</generator><lastBuildDate>Thu, 04 Jun 2026 02:45:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/62441.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 23 Jan 2004 12:57:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to CRecordset, wie komm ich an eine CDBExeption ran, die die Memberfunktion delete wirft ? on Fri, 23 Jan 2004 12:57:10 GMT]]></title><description><![CDATA[<p>Aloha,</p>
<p>ich habe eine Access - DB an mein Projekt angebunden, und greife darauf per ODBC zu in der Form :</p>
<pre><code>CDatabase db;
CTabelle_gtyp rs(&amp;db);  // gesubclasste CRecordset

if(db.OpenEx(&quot;DRIVER=Microsoft Access Driver(*.mdb);ODBC;DBQ=db.mdb;PWD=password;&quot;,CDatabase::noOdbcDialog))
{ 

		rs.Open( CRecordset::dynaset ,&quot;SELECT * FROM Gtyp WHERE ID=10820002&quot;);

etc.

....

}
</code></pre>
<p>Alles wunderbar. Nun werden in der DB Beziehungen deklariert.</p>
<p>Möchte ich jetzt einen Datensatz löschen, der in einer Beziehung steht wirft mir diese Funktion, besser is es, eine CDBException;</p>
<p>CRecordset::Delete<br />
virtual void Delete( );<br />
throw( CDBException );</p>
<pre><code>rs.delete();
</code></pre>
<p>Ein Fenster poppt auf, es steht drin, daß eine Beziehung bestünde, und dieser Datensatz nicht gelöscht werden könne.</p>
<p>Dieses Fenster wird automatisch generiert, ich will aber den Text erweitern, bzw. komplett ändern.</p>
<p>CDBException hat drei Membervaiablen laut MSDN, eine davon beinhaltet den Text für die Messagebox.<br />
Also, so dünkt ich mir, muß ich an die Exception rankommen, um die Nachricht zu ändern.</p>
<p>Ich habe keine Ahnung wie ich die Excaption fangen kann, bzw. an welche Quellcodestelle.</p>
<p>Besten Dank</p>
<p>Grüße</p>
<p>BOA</p>
]]></description><link>https://www.c-plusplus.net/forum/post/442545</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/442545</guid><dc:creator><![CDATA[BOA]]></dc:creator><pubDate>Fri, 23 Jan 2004 12:57:10 GMT</pubDate></item><item><title><![CDATA[Reply to CRecordset, wie komm ich an eine CDBExeption ran, die die Memberfunktion delete wirft ? on Fri, 23 Jan 2004 13:11:42 GMT]]></title><description><![CDATA[<p>Guck in die MSDN:</p>
<p>Stichworte: try catch TRY CATCH (ja zwei Schreibweisen...)<br />
Wenn du nach CDBExeption suchst, könntest du auch weiterkommen.</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/442559</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/442559</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Fri, 23 Jan 2004 13:11:42 GMT</pubDate></item><item><title><![CDATA[Reply to CRecordset, wie komm ich an eine CDBExeption ran, die die Memberfunktion delete wirft ? on Fri, 23 Jan 2004 13:17:05 GMT]]></title><description><![CDATA[<p>Aloha,</p>
<p>hat sich gelöst, ich gehe net über einen Recordset an die Sache sondern per handgemachter SQL-Anweisung über CDatabase.</p>
<pre><code>if(db.IsOpen()) 
{ 

   CString strCmd = &quot;DELETE FROM Gtyp WHERE ID=10820002&quot;;

   TRY
   {

         db.ExecuteSQL( strCmd );

   } 

   CATCH(CDBException, e)
   {

	AfxMessageBox(&quot;Dieser Datensatz ist tabu !!! &quot;);			

   }
   END_CATCH 

   db.Close(); 

}
</code></pre>
<p>Wunnerbar, so kann ich mir die Ausgabe stricken, wie ich lust und laune habe.</p>
<p>@estartu_de<br />
An den Stellen bin ich in der MSDN net weitergekommen, deswegen mein Hilferuf hier. Ich hatte keine Idee wohin CRecordset die Exeption wirft, also an welche Stelle ich den TRY-CATCH-BLOCK hinschreiben sollte.<br />
Tja, daß ich Crecordset da lassen kann, wo der Pfeffer wächst, fiel mir erst zu spät ein (nachdem der Thread eröffnet war <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /> )</p>
<p>Ich dank Dir trotzdem vielmals. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
<p>Grüße</p>
<p>BOA</p>
]]></description><link>https://www.c-plusplus.net/forum/post/442563</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/442563</guid><dc:creator><![CDATA[BOA]]></dc:creator><pubDate>Fri, 23 Jan 2004 13:17:05 GMT</pubDate></item><item><title><![CDATA[Reply to CRecordset, wie komm ich an eine CDBExeption ran, die die Memberfunktion delete wirft ? on Fri, 23 Jan 2004 14:13:29 GMT]]></title><description><![CDATA[<p>Oh, dann entschuldige den Verweis...</p>
<p>Falls es für eine Erklärung nicht zu spät ist:<br />
Im try stehen alle Befehle (sinngemäß zusammengefasst), die eine Behandlung durch catch erfordern. Nach try kommt catch.</p>
<p>War die Erklärung verständlich? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/442605</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/442605</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Fri, 23 Jan 2004 14:13:29 GMT</pubDate></item><item><title><![CDATA[Reply to CRecordset, wie komm ich an eine CDBExeption ran, die die Memberfunktion delete wirft ? on Fri, 23 Jan 2004 14:32:04 GMT]]></title><description><![CDATA[<p>Aloha,</p>
<p>yep, vielen Dank, wunderbar.</p>
<p>Ja, so ist das, wenn die Basics nach und nach aus meinem Hirn schwinden. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /><br />
Es bedarf immer wieder netter Leute wie Dich, einiges aufzufrischen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
<p>Bei dem speziellen Prob, mit CRecordset::delete(), ging das mit einem TRY-CATCH-BLOCK irgendwie net.</p>
<p>Ich hatte folgendes probiert :</p>
<pre><code>TRY
{

      rs.delete();
}
CATCH(CDBExeption,e)
{

      AfxMessageBox(&quot;Was zur Hölle willst Du löschen ? Das geht net&quot;);

}
</code></pre>
<p>Aber das hat nicht gefunzt ?!?!<br />
Ich weiß es net, woran es lag.</p>
<p>Trotzdem tausend und einen Dank noch einmal <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /></p>
<p>Grüße</p>
<p>BOA</p>
]]></description><link>https://www.c-plusplus.net/forum/post/442615</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/442615</guid><dc:creator><![CDATA[BOA]]></dc:creator><pubDate>Fri, 23 Jan 2004 14:32:04 GMT</pubDate></item></channel></rss>