<?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::Delete() Was mach ich falsch??]]></title><description><![CDATA[<p>Hallo alle zusammen,</p>
<p>ich zerbrech mir jetzt seit gut einem Tag den Kopf darüber was ich in meiner ODBC-Verbindung falsch mache, so dass ich nicht den CRecordset::Delete() Befehl ausführen kann.<br />
Folgenden Code habe ich geschrieben:</p>
<pre><code>[cpp]	CUserRecordset user;
	CDatabase UserData;
	CString DB_File = &quot;Fuhrpark&quot;;
	CString SqlString;
	long status = 2;
	std::ostringstream message;

	std::vector&lt; std::string &gt; parameters = StringHelper::split( messageFromClient, ';' );

	std::string dataInfo = parameters[0];

	TRY
	{
		// Open the database
		if( UserData.Open( DB_File ) )
		{
			SqlString.Format( &quot;SELECT * FROM tbl_Benutzerliste WHERE Personalnummer = %s and Benutzer = %s&quot;, parameters[1].c_str(), parameters[2].c_str());

			// Allocate the recordset
		//	CRecordset recset( &amp;UserData );

			// Execute the query			
			if( user.Open( CRecordset::dynaset, SqlString ) == TRUE )
			{
				user.Delete();
			}

			// Close the database
			UserData.Close();
		}

	}
	CATCH(CDBException, e)
	{
		e-&gt;ReportError();
		return &quot;false&quot;;
	}

	END_CATCH;

	return &quot;true&quot;;[/cpp]
</code></pre>
<p>Momentan bekomme ich beim SELECT für fast jeden Datensatz eine andere Execption.<br />
Wenn ich einen Datensatz falsch eingebe und diesen dann löschen möchte z.B. in das Feld Personalnummer habe ich das Passwort test geschrieben und in Benutzer eine Zahlen-Buchstabenkombination dann bekomme ich die Exeption:<br />
<strong>Syntaxfehler (fehlender Operator)in Abfrageausdruck'Personalnummer = test and Benutzer = 0032FAC</strong></p>
<p>Wenn ich einen korrekt geschriebenen Datensatz löschen möchte bekomme ich die Exeption:<br />
<strong>1 Parametern wurde erwartet, aber es wurden zu wenig Parameter übergeben</strong></p>
<p>Da ich in beiden Fällen den gleichen Weg benutze kann ich mir das absolut nicht erklären <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Hat jemand eine Idee?</p>
<p>gruß Silver</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/144516/crecordset-delete-was-mach-ich-falsch</link><generator>RSS for Node</generator><lastBuildDate>Thu, 16 Jul 2026 02:44:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/144516.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 19 Apr 2006 06:27:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to CRecordset::Delete() Was mach ich falsch?? on Wed, 19 Apr 2006 06:27:15 GMT]]></title><description><![CDATA[<p>Hallo alle zusammen,</p>
<p>ich zerbrech mir jetzt seit gut einem Tag den Kopf darüber was ich in meiner ODBC-Verbindung falsch mache, so dass ich nicht den CRecordset::Delete() Befehl ausführen kann.<br />
Folgenden Code habe ich geschrieben:</p>
<pre><code>[cpp]	CUserRecordset user;
	CDatabase UserData;
	CString DB_File = &quot;Fuhrpark&quot;;
	CString SqlString;
	long status = 2;
	std::ostringstream message;

	std::vector&lt; std::string &gt; parameters = StringHelper::split( messageFromClient, ';' );

	std::string dataInfo = parameters[0];

	TRY
	{
		// Open the database
		if( UserData.Open( DB_File ) )
		{
			SqlString.Format( &quot;SELECT * FROM tbl_Benutzerliste WHERE Personalnummer = %s and Benutzer = %s&quot;, parameters[1].c_str(), parameters[2].c_str());

			// Allocate the recordset
		//	CRecordset recset( &amp;UserData );

			// Execute the query			
			if( user.Open( CRecordset::dynaset, SqlString ) == TRUE )
			{
				user.Delete();
			}

			// Close the database
			UserData.Close();
		}

	}
	CATCH(CDBException, e)
	{
		e-&gt;ReportError();
		return &quot;false&quot;;
	}

	END_CATCH;

	return &quot;true&quot;;[/cpp]
</code></pre>
<p>Momentan bekomme ich beim SELECT für fast jeden Datensatz eine andere Execption.<br />
Wenn ich einen Datensatz falsch eingebe und diesen dann löschen möchte z.B. in das Feld Personalnummer habe ich das Passwort test geschrieben und in Benutzer eine Zahlen-Buchstabenkombination dann bekomme ich die Exeption:<br />
<strong>Syntaxfehler (fehlender Operator)in Abfrageausdruck'Personalnummer = test and Benutzer = 0032FAC</strong></p>
<p>Wenn ich einen korrekt geschriebenen Datensatz löschen möchte bekomme ich die Exeption:<br />
<strong>1 Parametern wurde erwartet, aber es wurden zu wenig Parameter übergeben</strong></p>
<p>Da ich in beiden Fällen den gleichen Weg benutze kann ich mir das absolut nicht erklären <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Hat jemand eine Idee?</p>
<p>gruß Silver</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1040246</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1040246</guid><dc:creator><![CDATA[Silvercreast]]></dc:creator><pubDate>Wed, 19 Apr 2006 06:27:15 GMT</pubDate></item><item><title><![CDATA[Reply to CRecordset::Delete() Was mach ich falsch?? on Wed, 19 Apr 2006 06:45:58 GMT]]></title><description><![CDATA[<p>Setz die %s mal in \'.<br />
Also \'%s\' damit dann später 'test' drin steht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1040256</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1040256</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Wed, 19 Apr 2006 06:45:58 GMT</pubDate></item><item><title><![CDATA[Reply to CRecordset::Delete() Was mach ich falsch?? on Wed, 19 Apr 2006 06:54:12 GMT]]></title><description><![CDATA[<p>Sensationell es funktioniert <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /><br />
Was bezwecket den \' das Zeichen??<br />
Ich mein der Debuger zeigt mir an das er in Personalnummer und in Benutzer ebenfalls die Daten geschrieben hat, sowie mit \' aber da funktioniert das nicht. Ich versteh nicht wieso das ohne \' nicht geht. Muss man das immer bei dem Delete benutzen??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1040258</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1040258</guid><dc:creator><![CDATA[Silvercreast]]></dc:creator><pubDate>Wed, 19 Apr 2006 06:54:12 GMT</pubDate></item><item><title><![CDATA[Reply to CRecordset::Delete() Was mach ich falsch?? on Wed, 19 Apr 2006 07:03:17 GMT]]></title><description><![CDATA[<p>Naja, das hat mit dem Delete nicht direkt was zu tun.<br />
Du arbeitest mit Zeichenketten (Strings) und mit SQL - und Zeichenketten packt man in SQL zwischen ' '. Du hast dem also nur die ganze Zeit einen falschen Datentyp gegeben, den er vielleicht noch versucht hat, zu verarbeiten. <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>
<p>Das ist so ähnlich, als wenn du in C sowas machst:</p>
<pre><code class="language-cpp">char = 9;
CString strMsg;
strMsg.Format(&quot;%c&quot;);
TRACE(strMsg);
</code></pre>
<p>und dich dann wunderst, wieso der nicht &quot;9&quot; ausgibt. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1040264</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1040264</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Wed, 19 Apr 2006 07:03:17 GMT</pubDate></item><item><title><![CDATA[Reply to CRecordset::Delete() Was mach ich falsch?? on Wed, 19 Apr 2006 07:25:14 GMT]]></title><description><![CDATA[<p>Ja aber wozu dann dieser Backslash??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1040273</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1040273</guid><dc:creator><![CDATA[Silvercreast]]></dc:creator><pubDate>Wed, 19 Apr 2006 07:25:14 GMT</pubDate></item><item><title><![CDATA[Reply to CRecordset::Delete() Was mach ich falsch?? on Wed, 19 Apr 2006 07:39:46 GMT]]></title><description><![CDATA[<p>Weil es ein Escapezeichen ist.<br />
Afair kann man ihn auch weglassen, der Compiler meckert wohl nicht (hat hier mal wer geschrieben) - aber ich habe es so gelernt und mache es deswegen auch so.</p>
<p>Ist eben genauso wie:</p>
<pre><code class="language-cpp">\n
\&quot;
\\
</code></pre>
<p>usw.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1040277</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1040277</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Wed, 19 Apr 2006 07:39:46 GMT</pubDate></item></channel></rss>