<?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[Statistik Abfrage mit ADO]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>kann mir jemand sagen, warum dass nicht funktioniert ??</p>
<pre><code class="language-cpp">int m_iAnzahl = 0;
try 
{
  std::string var = &quot;SELECT COUNT (Server_ID) AS Anzahl FROM Lizenzen WHERE Server_ID = 0;&quot;;
  _bstr_t sql = var.c_str();

  recordset-&gt;Open(sql, connection.GetInterfacePtr(), ADODB::adOpenForwardOnly, ADODB::adLockReadOnly, ADODB::adCmdText);
  _variant_t ANZAHL;

  ANZAHL = recordset-&gt;Fields-&gt;GetItem(&quot;Anzahl&quot;)-&gt;GetValue();
  m_iAnzahl = ANZAHL.intVal;

  recordset-&gt;Close();
  connection-&gt;Close();
  TRACE(&quot;-- DB geschlossen\n&quot;);	
}
catch(_com_error &amp;e)
{
  TRACE(&quot;-- Fehler beim DB Zugriff: fehler: %s&quot;, e.Description());
}
catch(...)
{
  TRACE(&quot;-- Unbekannte Exception\n&quot;);
};

return m_iAnzahl;
</code></pre>
<p>ICh möchte einfach eine Anzahl von Einträgen heraus finden.<br />
Er springt mir immer in Unbekannte Exception hinein.</p>
<p>Gruß und Danke<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/69199/statistik-abfrage-mit-ado</link><generator>RSS for Node</generator><lastBuildDate>Sat, 02 May 2026 06:45:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/69199.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 25 Mar 2004 10:01:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Statistik Abfrage mit ADO on Thu, 25 Mar 2004 10:01:55 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>kann mir jemand sagen, warum dass nicht funktioniert ??</p>
<pre><code class="language-cpp">int m_iAnzahl = 0;
try 
{
  std::string var = &quot;SELECT COUNT (Server_ID) AS Anzahl FROM Lizenzen WHERE Server_ID = 0;&quot;;
  _bstr_t sql = var.c_str();

  recordset-&gt;Open(sql, connection.GetInterfacePtr(), ADODB::adOpenForwardOnly, ADODB::adLockReadOnly, ADODB::adCmdText);
  _variant_t ANZAHL;

  ANZAHL = recordset-&gt;Fields-&gt;GetItem(&quot;Anzahl&quot;)-&gt;GetValue();
  m_iAnzahl = ANZAHL.intVal;

  recordset-&gt;Close();
  connection-&gt;Close();
  TRACE(&quot;-- DB geschlossen\n&quot;);	
}
catch(_com_error &amp;e)
{
  TRACE(&quot;-- Fehler beim DB Zugriff: fehler: %s&quot;, e.Description());
}
catch(...)
{
  TRACE(&quot;-- Unbekannte Exception\n&quot;);
};

return m_iAnzahl;
</code></pre>
<p>ICh möchte einfach eine Anzahl von Einträgen heraus finden.<br />
Er springt mir immer in Unbekannte Exception hinein.</p>
<p>Gruß und Danke<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/488356</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/488356</guid><dc:creator><![CDATA[andy_mann]]></dc:creator><pubDate>Thu, 25 Mar 2004 10:01:55 GMT</pubDate></item><item><title><![CDATA[Reply to Statistik Abfrage mit ADO on Thu, 25 Mar 2004 15:28:42 GMT]]></title><description><![CDATA[<p>Hat hierzu niemand eine Idee ??</p>
<p>Gruß<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/488710</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/488710</guid><dc:creator><![CDATA[andy_mann]]></dc:creator><pubDate>Thu, 25 Mar 2004 15:28:42 GMT</pubDate></item><item><title><![CDATA[Reply to Statistik Abfrage mit ADO on Thu, 25 Mar 2004 15:53:10 GMT]]></title><description><![CDATA[<p>Nö, höchstens vage Vermutungen:<br />
der schmiert bestimmt bei Open(...) ab, weil<br />
- &quot;AS Anzahl&quot; nicht funktioniert<br />
- &quot;COUNT&quot; nicht funktioniert (zu kompliziert bei Open)</p>
<p>Klappt denn das Öffnen ohne die SQL-Anweisung (NULL) ?<br />
Kenne mich bei ADO nicht aus, aber bei CRecordset gibt es z.B. GetRecordCount() (vorher einmal durch laufen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/488739</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/488739</guid><dc:creator><![CDATA[isabeau]]></dc:creator><pubDate>Thu, 25 Mar 2004 15:53:10 GMT</pubDate></item><item><title><![CDATA[Reply to Statistik Abfrage mit ADO on Thu, 25 Mar 2004 17:48:59 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>wenn ich einen normale select funktion aufrufe und de den record in einer schleiffe durchlauffen lasse, dabei einen Zähler mit zaähle, funktioniert es.</p>
<p>Wo genau sollte ich den den GetRecordCount() hin schreiben ??</p>
<p>Gruß<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/488837</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/488837</guid><dc:creator><![CDATA[andy_mann]]></dc:creator><pubDate>Thu, 25 Mar 2004 17:48:59 GMT</pubDate></item><item><title><![CDATA[Reply to Statistik Abfrage mit ADO on Fri, 26 Mar 2004 01:43:13 GMT]]></title><description><![CDATA[<p>einfach nach dem Open... Allerdings gibts da ein Problem bei (oder sagen wir zumindest hatte ich das problem.. )<br />
Weil GetRecordCOunt nur die anzahl der bereits zugegriffenen Datensätze zurück gibt.. (Okay ich benutze ODBC und nicht ADODB.. aber das sollte egal sein, da die funktion wahrscheinlich das selbe macht)</p>
<p>Das heisst man muss erst ale Datensätze einmal durchgehen und dann hat man die anzahl der Datensätze... bei mir siehts so aus</p>
<pre><code class="language-cpp">recordset-&gt;MoveFirst();
		while ( !m_pSet-&gt;IsEOF() )
		{
			recordset-&gt;MoveNext();
		}
		recordset-&gt;MoveFirst();
</code></pre>
<p>Dann sind alle durchgezählt und das programm ist wieder beim ersten.</p>
<p>und dann kannst du einfach folgendes machen:</p>
<pre><code class="language-cpp">m_iAnzahl = recordset-&gt;GetRecordCount()
</code></pre>
<p>Hoffe ich blamiere mich net bei diesem Tip... Bin ja noch anfänger, der halt mit Datenbank Apps angefangen hat *g*</p>
<p>Da es allerdings in einer Funktion ist, sollte es dann egal sein, ob man mit nem ZÄhle alle durch geht oder erst durchzählen lässt und dann mit der Funktion das ermittelt...</p>
<p>Zumindest sehe ich das so</p>
]]></description><link>https://www.c-plusplus.net/forum/post/489153</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/489153</guid><dc:creator><![CDATA[Vernochan]]></dc:creator><pubDate>Fri, 26 Mar 2004 01:43:13 GMT</pubDate></item><item><title><![CDATA[Reply to Statistik Abfrage mit ADO on Fri, 26 Mar 2004 05:39:32 GMT]]></title><description><![CDATA[<p>Ein SELECT COUNT() liefert sowieso nur einen Datensatz. SOllte es keinen Fehler geben dann bekommt man sicher einen Datensatz zurück der 0 oder eben die Anzahl beinhaltet.</p>
<p>Ich habe jetzt nicht nach deinem Fehler gesehen aber was mir aufgefallen ist, daß du die Funktionen aufrufts ohne sie auf Fehler zu überprüfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/489161</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/489161</guid><dc:creator><![CDATA[Unix-Tom]]></dc:creator><pubDate>Fri, 26 Mar 2004 05:39:32 GMT</pubDate></item><item><title><![CDATA[Reply to Statistik Abfrage mit ADO on Fri, 26 Mar 2004 08:35:41 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>habe es nun Probiert, im Debugger läuft er nirgends auf einen Fehler.<br />
Als ergebnis erhalte ich allerdings -1 (Debugger) und in der ausgabe im Programm einen /. dabei sollte der Wert 144 herauskommen.</p>
<p>Hier der Code:</p>
<pre><code class="language-cpp">int m_iAnzahl;
	try 
	{
		std::string var = &quot;SELECT COUNT (Server_ID) AS Anzahl FROM Lizenzen WHERE Server_ID = 1;&quot;;
		_bstr_t sql = var.c_str();

		recordset-&gt;Open(sql,
			connection.GetInterfacePtr(),
			ADODB::adOpenForwardOnly, ADODB::adLockReadOnly, ADODB::adCmdText);
		m_iAnzahl = recordset-&gt;GetRecordCount();

		recordset-&gt;Close();
		TRACE(&quot;-- DB geschlossen\n&quot;);	
	}
	catch(_com_error &amp;e)
    {
		TRACE(&quot;-- Fehler beim DB Zugriff: fehler: %s&quot;, e.Description());
    }
    catch(...)
    {
        TRACE(&quot;-- Unbekannte Exception\n&quot;);
    };

	return m_iAnzahl;
</code></pre>
<p>Gruß<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/489200</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/489200</guid><dc:creator><![CDATA[andy_mann]]></dc:creator><pubDate>Fri, 26 Mar 2004 08:35:41 GMT</pubDate></item><item><title><![CDATA[Reply to Statistik Abfrage mit ADO on Fri, 26 Mar 2004 09:17:34 GMT]]></title><description><![CDATA[<p>Aus der MSDN (bezüglich GetRecordCount):<br />
The number of records in the recordset; 0 if the recordset contains no records; or -1 if the record count cannot be determined.<br />
=&gt; anscheinend funktioniert deine SQL-Anweisung immer noch nicht -&gt; so erkennt er noch nicht mal, das kein Datensatz vorhanden ist</p>
<p>Aus diesem Thread:<br />
Weil GetRecordCOunt nur die anzahl der bereits zugegriffenen Datensätze zurück gibt..<br />
-&gt; und eine mögliche Lösung steht auch dabei.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/489246</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/489246</guid><dc:creator><![CDATA[isabeau]]></dc:creator><pubDate>Fri, 26 Mar 2004 09:17:34 GMT</pubDate></item><item><title><![CDATA[Reply to Statistik Abfrage mit ADO on Fri, 26 Mar 2004 11:12:30 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>also ich habe jetzt AS Anzahl, die Klammern und die Anweisung wie Vernochan<br />
beschrieben gemacht.<br />
Keine Besserung.<br />
Ohne Klammern, was ganz Komisches (+(&quot;-1*0</p>
<p>Vielleicht stimmt doch nicht mein Code ??</p>
<pre><code class="language-cpp">recordset-&gt;MoveFirst(); 
        while ( !recordset-&gt;ADOEOF ) 
        { 
            recordset-&gt;MoveNext(); 
        } 
        recordset-&gt;MoveFirst();
        m_iAnzahl = recordset-&gt;GetRecordCount();
</code></pre>
<p>Gruß<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/489337</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/489337</guid><dc:creator><![CDATA[andy_mann]]></dc:creator><pubDate>Fri, 26 Mar 2004 11:12:30 GMT</pubDate></item><item><title><![CDATA[Reply to Statistik Abfrage mit ADO on Fri, 26 Mar 2004 11:47:58 GMT]]></title><description><![CDATA[<p>recordset-&gt;ADOEOF &lt;- fehlen da Klammern ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/489362</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/489362</guid><dc:creator><![CDATA[isabeau]]></dc:creator><pubDate>Fri, 26 Mar 2004 11:47:58 GMT</pubDate></item><item><title><![CDATA[Reply to Statistik Abfrage mit ADO on Fri, 26 Mar 2004 12:02:44 GMT]]></title><description><![CDATA[<p>Warum so kompliziert?<br />
Wenn du sowieso alle Records in der Tabelle haben willst, benutze doch ein *<br />
in deiner SQL-Abfrage.</p>
<p>pTable-&gt;Open(NULL, &quot;SELECT * FROM [TableName]&quot;)</p>
<p>while (!pTable-&gt;IsEOF())<br />
{<br />
nCount++;<br />
pTable-&gt;MoveNext();<br />
}<br />
pTable-&gt;MoveFirst();</p>
<p>Dazu solltest du natürlich erst eine Klasse für deine Datenquelle anlegen welche von CRecordset abgeleitet ist (ClassWizard).</p>
<p>Der Recordset beinhaltet immer nur den Inhalt des momentan ausgewählten Datensatzes und hat nichts mit dem gesamten Inhalt einer ODBC-Tabelle zu tun.<br />
Nach Open steht der Tabellenzeiger immer auf dem ersten Recordset.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/489371</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/489371</guid><dc:creator><![CDATA[Hiob0113]]></dc:creator><pubDate>Fri, 26 Mar 2004 12:02:44 GMT</pubDate></item><item><title><![CDATA[Reply to Statistik Abfrage mit ADO on Fri, 26 Mar 2004 12:45:37 GMT]]></title><description><![CDATA[<p>Hmmmmm,</p>
<p>irgendwie komme ich nicht weiter.<br />
Anscheinend funkt die SQL anweisung nicht.<br />
Mit normalen SQL Select Delete update und Insert geht dass.<br />
Will man allerdings die Datenbank selber Rechnen lassen tut das nicht.</p>
<p>Gruß<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/489404</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/489404</guid><dc:creator><![CDATA[andy_mann]]></dc:creator><pubDate>Fri, 26 Mar 2004 12:45:37 GMT</pubDate></item></channel></rss>