<?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[Where Clause mit Variable]]></title><description><![CDATA[<p>Hallo,</p>
<p>mein 2. kleines Problem heute.</p>
<pre><code>wxString uname = m_loginusername-&gt;GetValue();
.
.
.
wxSQLite3ResultSet pass = db-&gt;ExecuteQuery(wxT(&quot;SELECT pass FROM users WHERE uname='&quot;+uname+&quot;'&quot;));
</code></pre>
<p>... produziert wieder diesen Fehler ....</p>
<pre><code>ambiguous overload for 'operator+' in 'operator+(const wxChar*, const wxString&amp;)(((const wxString&amp;)((const wxString*)(&amp;uname)))) + &quot;\'&quot;'|
</code></pre>
<p>Ich weiß nun das er mir sagt das ich nen Zeiger mit einem String verbinden will, allerdings dachte ich es sind beides Strings. <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="😕"
    /> Ich steh aufn Schlauch.</p>
<p>Darf ich euch noch einmal um Hilfe bitten ?</p>
<p>Der Nala</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/265226/where-clause-mit-variable</link><generator>RSS for Node</generator><lastBuildDate>Fri, 04 Sep 2026 07:36:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/265226.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 19 Apr 2010 18:10:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Where Clause mit Variable on Mon, 19 Apr 2010 18:10:57 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>mein 2. kleines Problem heute.</p>
<pre><code>wxString uname = m_loginusername-&gt;GetValue();
.
.
.
wxSQLite3ResultSet pass = db-&gt;ExecuteQuery(wxT(&quot;SELECT pass FROM users WHERE uname='&quot;+uname+&quot;'&quot;));
</code></pre>
<p>... produziert wieder diesen Fehler ....</p>
<pre><code>ambiguous overload for 'operator+' in 'operator+(const wxChar*, const wxString&amp;)(((const wxString&amp;)((const wxString*)(&amp;uname)))) + &quot;\'&quot;'|
</code></pre>
<p>Ich weiß nun das er mir sagt das ich nen Zeiger mit einem String verbinden will, allerdings dachte ich es sind beides Strings. <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="😕"
    /> Ich steh aufn Schlauch.</p>
<p>Darf ich euch noch einmal um Hilfe bitten ?</p>
<p>Der Nala</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1885325</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1885325</guid><dc:creator><![CDATA[nalamar]]></dc:creator><pubDate>Mon, 19 Apr 2010 18:10:57 GMT</pubDate></item><item><title><![CDATA[Reply to Where Clause mit Variable on Mon, 19 Apr 2010 18:21:28 GMT]]></title><description><![CDATA[<p>Nein, Sachen die du im Quelltext zwischen &quot;&quot; stehen hast, sind vom Typ <code>const char[]</code> . Je nachdem, was wxString genau ist, gibt es bestimmt einen Konstruktor, mit dem du aus const char* einen wxString machen kannst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1885331</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1885331</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 19 Apr 2010 18:21:28 GMT</pubDate></item><item><title><![CDATA[Reply to Where Clause mit Variable on Mon, 19 Apr 2010 19:04:15 GMT]]></title><description><![CDATA[<p>Also ich habs nun mit dieser Quelle<br />
<a href="http://wiki.wxwidgets.org/WxString" rel="nofollow">http://wiki.wxwidgets.org/WxString</a></p>
<p>versucht umzusetzen, allerdings ist mir das noch nicht ganz gelungen.</p>
<pre><code class="language-cpp">wxString query = wxT(&quot;SELECT pass FROM users WHERE uname='&quot;+(const char*)uname.mb_str(wxConvUTF8)+&quot;'&quot;);
</code></pre>
<p>Die Fehlermeldung lautet nun so:</p>
<pre><code>invalid operands of types `const wchar_t[37]' and `const char*' to binary `operator+'|
</code></pre>
<p>Hat noch jemand nen Tipp für mich ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1885367</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1885367</guid><dc:creator><![CDATA[nalamar]]></dc:creator><pubDate>Mon, 19 Apr 2010 19:04:15 GMT</pubDate></item><item><title><![CDATA[Reply to Where Clause mit Variable on Mon, 19 Apr 2010 19:17:09 GMT]]></title><description><![CDATA[<p><code>wxT</code> ist anscheinend ein Makro, was in deinem Fall so definiert wurde, dass es ein <code>L</code> einem Stringliteral voranstellt. Also <code>wxT(&quot;hello&quot;)</code> --&gt; <code>L&quot;hello&quot;</code> . Das erklärt auch Deine Fehlermeldung; denn <code>L&quot;hello&quot;</code> ist ein Array vom Typ <code>const wchar_t[37]</code> und hat als solches keinen überladenen + Operator. Du musst deine Stringkonstante also erst zu einem wxString konvertieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1885379</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1885379</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Mon, 19 Apr 2010 19:17:09 GMT</pubDate></item><item><title><![CDATA[Reply to Where Clause mit Variable on Mon, 19 Apr 2010 19:18:40 GMT]]></title><description><![CDATA[<p>krümelkacker schrieb:</p>
<blockquote>
<p>...denn <code>L&quot;hello&quot;</code> ist ein Array vom Typ <code>const wchar_t[37]</code> ...</p>
</blockquote>
<p>Ist natürlich eine 6 statt 37 in diesem Fall. <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/1885380</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1885380</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Mon, 19 Apr 2010 19:18:40 GMT</pubDate></item><item><title><![CDATA[Reply to Where Clause mit Variable on Mon, 19 Apr 2010 19:45:14 GMT]]></title><description><![CDATA[<p>Spätestens jetzt bin ich total verwirrt <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="😉"
    /> Ich weiß grad nicht mehr was ich zu was konvertieren soll .....</p>
<p>EDIT:<br />
Gibt es bei der ganzen Sache nicht die möglichkeit das in der Art zu lösen ?</p>
<pre><code>wxString query = wxT(&quot;SELECT pass FROM users WHERE uname='%s'&quot;),uname
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1885386</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1885386</guid><dc:creator><![CDATA[nalamar]]></dc:creator><pubDate>Mon, 19 Apr 2010 19:45:14 GMT</pubDate></item><item><title><![CDATA[Reply to Where Clause mit Variable on Mon, 19 Apr 2010 20:14:09 GMT]]></title><description><![CDATA[<p>Ich glaube ich komme dem ganzen etwas näher.</p>
<pre><code class="language-cpp">wxString uname = m_loginusername-&gt;GetValue();
		if (un == uname)
		{
            char* chars = &quot;SELECT pass FROM users WHERE uname = '%s'&quot;,uname;
            wxString query(chars, wxConvUTF8);
            wxSQLite3ResultSet pass = db-&gt;ExecuteQuery(query);
</code></pre>
<p>Allerdings bekomme ich nun den hinweis das &quot;uname&quot; eine nicht verwendete Variable sei und die Abfrage funktioniert noch nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1885413</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1885413</guid><dc:creator><![CDATA[nalamar]]></dc:creator><pubDate>Mon, 19 Apr 2010 20:14:09 GMT</pubDate></item><item><title><![CDATA[Reply to Where Clause mit Variable on Mon, 19 Apr 2010 20:46:55 GMT]]></title><description><![CDATA[<p>Was ich dir eigentlich sagen wollte, ist, dass du es genau andersrum machen solltest als du es nach meinem Rat gemacht hast <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="😮"
    /></p>
<p>Du solltest den const char * in einen WxString umwandeln, nicht umgekehrt. WxString kennt nämlich den Operator +, const char* nicht.</p>
<p>Etwas wie dies sollte funktionieren:</p>
<pre><code class="language-cpp">wxSQLite3ResultSet pass = db-&gt;ExecuteQuery(wxT(wxString::FromAscii(&quot;SELECT pass FROM users WHERE uname=\'&quot;)+uname+wxString::FromAscii(&quot;\'&quot;)));
</code></pre>
<p>Beachte außerdem, dass ich die Hochkommata ' durch die Escape-Sequenz \' ersetzt habe, da dein Compiler ansonsten verwirrt sein dürfte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1885433</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1885433</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 19 Apr 2010 20:46:55 GMT</pubDate></item><item><title><![CDATA[Reply to Where Clause mit Variable on Mon, 19 Apr 2010 21:00:28 GMT]]></title><description><![CDATA[<p>Danke SeppJ</p>
<p>Wenn ich deinen Code direkt in mein Prog einsetze ommt folgende Fehlermeldung</p>
<pre><code>In member function `virtual void SEAdminDialog::m_BTNLoginOnButtonClick(wxCommandEvent&amp;)':|
`LwxString' has not been declared|
`FromAscii' was not declared in this scope|
|26|warning: unused variable 'FromAscii'|
||=== Build finished: 2 errors, 1 warnings ===|
</code></pre>
<p>Ich hab es nun nach viel googlen und Samples anschauen folgendermaße gelöst:</p>
<pre><code class="language-cpp">wxString query;
query &lt;&lt; wxT(&quot;SELECT pass FROM users WHERE uname = '&quot;) &lt;&lt; uname &lt;&lt; wxT(&quot;'&quot;);
            wxSQLite3ResultSet pass = db-&gt;ExecuteQuery(query);
</code></pre>
<p>Funktionieren tut es wie gewünscht .... allerdings graut mir davor wenn ich dann gleich das erste mal Daten aus der DB gegen die ID (INT) auslese ... da geht das Thema sicher weiter ..... falls also wer Verbesserungsvorschläge hat nehm ich die gern mit <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1885442</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1885442</guid><dc:creator><![CDATA[nalamar]]></dc:creator><pubDate>Mon, 19 Apr 2010 21:00:28 GMT</pubDate></item><item><title><![CDATA[Reply to Where Clause mit Variable on Tue, 20 Apr 2010 05:26:06 GMT]]></title><description><![CDATA[<blockquote>
<p>allerdings graut mir davor wenn ich dann gleich das erste mal Daten aus der DB gegen die ID (INT) auslese ... da geht das Thema sicher weiter ..... falls also wer Verbesserungsvorschläge hat nehm ich die gern mit <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
</blockquote>
<p>Wie wär's damit, <em>richtig</em> C++ zu lernen? (so mit Buch und so) :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1885483</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1885483</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Tue, 20 Apr 2010 05:26:06 GMT</pubDate></item><item><title><![CDATA[Reply to Where Clause mit Variable on Tue, 20 Apr 2010 05:48:12 GMT]]></title><description><![CDATA[<p>nalamar schrieb:</p>
<blockquote>
<p>Funktionieren tut es wie gewünscht ....</p>
</blockquote>
<p>Bis jemand für uname</p>
<pre><code>'; DROP TABLE users;--
</code></pre>
<p>eingibt. Du solltest dringend prüfen, ob deine Datenbank-API parametrisierte Abfragen anbietet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1885487</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1885487</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Tue, 20 Apr 2010 05:48:12 GMT</pubDate></item><item><title><![CDATA[Reply to Where Clause mit Variable on Tue, 20 Apr 2010 13:21:18 GMT]]></title><description><![CDATA[<p>krümelkacker schrieb:</p>
<blockquote>
<p>Wie wär's damit, <em>richtig</em> C++ zu lernen? (so mit Buch und so) :p</p>
</blockquote>
<p>Ich versuchs halt auf die harte &quot;Learning by doing&quot; tour - und ich danke jedem der sich die Zeit nimmt, auf meine Beiträge zu Antworten. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>MFK schrieb:</p>
<blockquote>
<p>nalamar schrieb:</p>
<blockquote>
<p>Funktionieren tut es wie gewünscht ....</p>
</blockquote>
<p>Bis jemand für uname</p>
<pre><code>'; DROP TABLE users;--
</code></pre>
<p>eingibt. Du solltest dringend prüfen, ob deine Datenbank-API parametrisierte Abfragen anbietet.</p>
</blockquote>
<p>Über die Gefahr der SQL-Injektions bin ich mir durchaus bewusst. Diese abzufangen steht auf meiner ToDO-Liste. Aber ich weiß auch, das die Leute die irgend wann mal mit dem Programm arbeiten können, davon auch nicht wirklich Ahnung haben, was das ganze nicht allzuweit oben auf meiner Liste ansiedelt. Aber trotzdem danke nochmal für den Hinweis! <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>Der Nala</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1885717</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1885717</guid><dc:creator><![CDATA[nalamar]]></dc:creator><pubDate>Tue, 20 Apr 2010 13:21:18 GMT</pubDate></item></channel></rss>