<?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[SQL Nachhilfe]]></title><description><![CDATA[<p>Grüße alle!</p>
<p>Wer kann mir bitte ein wenig SQL-Nachhilfe geben in Bezug auf SELELCT und ORDER BY.<br />
Ein wenig Quellcode wie ich eine bestimmte Spalte eines Recordsets sortiere wäre auch nicht schlecht. Mir helfen die Erklärungen in der MSDN nicht wirklich weiter. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Ich besitze die Klasse CRecordSet, die bei mir CKundenSet heißt. Die Members der Klasse repräsentieren sozusagen die Spalten wie &quot;m_Kundennummer&quot;, &quot;m_Firma&quot; oder &quot;m_Name&quot;. ( alles CStrings ).<br />
Wie kann ich jetzt die Datensätze sortieren z.B. alphabetisch aufsteigend ( desc,asc) nach der Column m_Firma?? <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>Vervollständigt mich:</p>
<pre><code class="language-cpp">CKundenSet m_pKundenSet;
m_gw_kunde.GetCurrentCell(&amp;iRow,&amp;iCol); // m_gw_Kunde ist ein ActiveX GridWiz,
                                        // die markierte zu sortierende Spalte wird halt hier erkannt
// und dann z.B. für spalte 3 ( = Firma )

if ( iCol == 3)
    {
        m_pKundenSet.Open();
        Sortierauswahl == &quot;Firma desc&quot;;
        m_pKundenSet.Open(CRecordset::dynaset,m_pKundenSet.m_strSort = Sortierauswahl);
    }
</code></pre>
<p>Wichtig ist halt, das beim Click auf Spalte danach sortiert wird. Wird dann eigentlich die Access-DB<br />
gleich sortierend überschrieben. Oder ist es auch möglich erstmal nur fertig sortiert in meiner Anwendung anzeigen zu lassen und später bei z.B. &quot;OnApply&quot; zurückzuschreiben?<br />
<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>Vielen Dank im Voraus<br />
MfG<br />
RunSeb</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/74088/sql-nachhilfe</link><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Apr 2026 17:10:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/74088.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 17 May 2004 08:28:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to SQL Nachhilfe on Mon, 17 May 2004 08:28:34 GMT]]></title><description><![CDATA[<p>Grüße alle!</p>
<p>Wer kann mir bitte ein wenig SQL-Nachhilfe geben in Bezug auf SELELCT und ORDER BY.<br />
Ein wenig Quellcode wie ich eine bestimmte Spalte eines Recordsets sortiere wäre auch nicht schlecht. Mir helfen die Erklärungen in der MSDN nicht wirklich weiter. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Ich besitze die Klasse CRecordSet, die bei mir CKundenSet heißt. Die Members der Klasse repräsentieren sozusagen die Spalten wie &quot;m_Kundennummer&quot;, &quot;m_Firma&quot; oder &quot;m_Name&quot;. ( alles CStrings ).<br />
Wie kann ich jetzt die Datensätze sortieren z.B. alphabetisch aufsteigend ( desc,asc) nach der Column m_Firma?? <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>Vervollständigt mich:</p>
<pre><code class="language-cpp">CKundenSet m_pKundenSet;
m_gw_kunde.GetCurrentCell(&amp;iRow,&amp;iCol); // m_gw_Kunde ist ein ActiveX GridWiz,
                                        // die markierte zu sortierende Spalte wird halt hier erkannt
// und dann z.B. für spalte 3 ( = Firma )

if ( iCol == 3)
    {
        m_pKundenSet.Open();
        Sortierauswahl == &quot;Firma desc&quot;;
        m_pKundenSet.Open(CRecordset::dynaset,m_pKundenSet.m_strSort = Sortierauswahl);
    }
</code></pre>
<p>Wichtig ist halt, das beim Click auf Spalte danach sortiert wird. Wird dann eigentlich die Access-DB<br />
gleich sortierend überschrieben. Oder ist es auch möglich erstmal nur fertig sortiert in meiner Anwendung anzeigen zu lassen und später bei z.B. &quot;OnApply&quot; zurückzuschreiben?<br />
<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>Vielen Dank im Voraus<br />
MfG<br />
RunSeb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/521731</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/521731</guid><dc:creator><![CDATA[RunSeb]]></dc:creator><pubDate>Mon, 17 May 2004 08:28:34 GMT</pubDate></item><item><title><![CDATA[Reply to SQL Nachhilfe on Mon, 17 May 2004 09:21:54 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>da stimmt einiges nicht (oder es sind Schreibfehler):</p>
<pre><code class="language-cpp">Sortierauswahl == &quot;Firma desc&quot;;
</code></pre>
<p>das ist ein Vergleich, richtig wäre Zuweisung, und zwar zur Member-Variable m_strSort::</p>
<pre><code class="language-cpp">m_pKundenSet.m_strSort = &quot;Firma desc&quot;;
</code></pre>
<p>außerdem ist es nicht nötig, zweimal Open aufzurufen, der Open-Aufruf ist im zweiten Fall auch nicht korrekt:</p>
<pre><code class="language-cpp">if ( iCol == 3)
    {
        m_pKundenSet.m_strSort = &quot;Firma desc&quot;;
        m_pKundenSet.Open(CRecordset::dynaset, NULL);
    }
</code></pre>
<p>so könnte es besser aussehen.</p>
<p>RunSeb schrieb:</p>
<blockquote>
<p>Wird dann eigentlich die Access-DB gleich sortierend überschrieben</p>
</blockquote>
<p>Datenbanken kennen keine Reihenfolge von Datensätzen, und überschrieben wird nur, wenn man die entsprechenden Anweisungen gibt, ein Open ist keine solche Anweisung.</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/521772</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/521772</guid><dc:creator><![CDATA[Probe-Nutzer]]></dc:creator><pubDate>Mon, 17 May 2004 09:21:54 GMT</pubDate></item><item><title><![CDATA[Reply to SQL Nachhilfe on Mon, 17 May 2004 09:40:51 GMT]]></title><description><![CDATA[<p>Ich hab das jetz so: Wie du meinst:</p>
<pre><code class="language-cpp">if ( iCol == 3)
    {
        CKundenSet m_pKundenSet;
        m_pKundenSet.m_strSort = &quot;m_Kontaktperson&quot;;

        m_pKundenSet.Open(CRecordset::dynaset, NULL);
       	m_pKundenSet.MoveFirst();

	    for (k=0; k&lt;m_pKundenSet.GetRecordCount(); k++)
	    {
		m_gw_kunde.Sheet(0).Cell(k+1,1).SetText(m_pKundenSet.m_Kunden_Nr);
		m_gw_kunde.Sheet(0).Cell(k+1,2).SetText(m_pKundenSet.m_Firma___Unternehmen);
		m_gw_kunde.Sheet(0).Cell(k+1,3).SetText(m_pKundenSet.m_Name);
		m_gw_kunde.Sheet(0).Cell(k+1,4).SetText(m_pKundenSet.m_Stra_e);
		m_gw_kunde.Sheet(0).Cell(k+1,5).SetText(m_pKundenSet.m_Postleitzahl);
		m_gw_kunde.Sheet(0).Cell(k+1,6).SetText(m_pKundenSet.m_Ort);
		m_gw_kunde.Sheet(0).Cell(k+1,7).SetText(m_pKundenSet.m_Telefon);
		m_gw_kunde.Sheet(0).Cell(k+1,8).SetText(m_pKundenSet.m_Anmerkungen);
		m_gw_kunde.Sheet(0).AddRow(1,1);
		m_pKundenSet.MoveNext();
	    }
        m_pKundenSet.Update();
        m_pKundenSet.Close();
   }
</code></pre>
<p>Aber sortieren tut er leider noch nichts!!</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/521780</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/521780</guid><dc:creator><![CDATA[RunSeb]]></dc:creator><pubDate>Mon, 17 May 2004 09:40:51 GMT</pubDate></item><item><title><![CDATA[Reply to SQL Nachhilfe on Mon, 17 May 2004 09:59:16 GMT]]></title><description><![CDATA[<p>ja, so ähnlich, aber du kannst natürlich keinen Variablennamen direkt als Sortierspalte verwenden, also das hier</p>
<pre><code class="language-cpp">m_pKundenSet.m_strSort = &quot;m_Kontaktperson&quot;;
</code></pre>
<p>geht nicht, es muß der Name der Spalte (wie es ihn auch in der Datenbank gibt) angegeben werden, z.B., falls die Spalte &quot;Kontaktperson&quot; heißt:</p>
<pre><code class="language-cpp">m_pKundenSet.m_strSort = &quot;Kontaktperson&quot;;
</code></pre>
<p>MoveFirst kann man weglassen, außerdem habe ich nichts von einem Update geschrieben, das muß weg, also:</p>
<pre><code class="language-cpp">if ( iCol == 3)
    {
        CKundenSet m_pKundenSet;
        // Spaltenname angeben, nicht Variablenname
        m_pKundenSet.m_strSort = &quot;Kontaktperson&quot;;

        m_pKundenSet.Open(CRecordset::dynaset, NULL);
        // nicht nötig
        // m_pKundenSet.MoveFirst();

        for (k=0; k&lt;m_pKundenSet.GetRecordCount(); k++)
        {
        m_gw_kunde.Sheet(0).Cell(k+1,1).SetText(m_pKundenSet.m_Kunden_Nr);
        m_gw_kunde.Sheet(0).Cell(k+1,2).SetText(m_pKundenSet.m_Firma___Unternehmen);
        m_gw_kunde.Sheet(0).Cell(k+1,3).SetText(m_pKundenSet.m_Name);
        m_gw_kunde.Sheet(0).Cell(k+1,4).SetText(m_pKundenSet.m_Stra_e);
        m_gw_kunde.Sheet(0).Cell(k+1,5).SetText(m_pKundenSet.m_Postleitzahl);
        m_gw_kunde.Sheet(0).Cell(k+1,6).SetText(m_pKundenSet.m_Ort);
        m_gw_kunde.Sheet(0).Cell(k+1,7).SetText(m_pKundenSet.m_Telefon);
        m_gw_kunde.Sheet(0).Cell(k+1,8).SetText(m_pKundenSet.m_Anmerkungen);
        m_gw_kunde.Sheet(0).AddRow(1,1);
        m_pKundenSet.MoveNext();
        }
        // kein Update
        // m_pKundenSet.Update();
        m_pKundenSet.Close();
   }
</code></pre>
<p>versuche es so noch einmal.</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/521796</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/521796</guid><dc:creator><![CDATA[Probe-Nutzer]]></dc:creator><pubDate>Mon, 17 May 2004 09:59:16 GMT</pubDate></item><item><title><![CDATA[Reply to SQL Nachhilfe on Mon, 17 May 2004 10:25:59 GMT]]></title><description><![CDATA[<p>Genau, das wars, super, VIELEN DANK.</p>
<p>Variablenname <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /> , wie komm ich da drauf. Ich hab die ganze Zeit was überlegt. Is ja klar, die Spalte hat ja nen ganz anderen Titel.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/521809</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/521809</guid><dc:creator><![CDATA[RunSeb]]></dc:creator><pubDate>Mon, 17 May 2004 10:25:59 GMT</pubDate></item></channel></rss>