<?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[ADO und SELECT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>mal wieder ne Frage von mir.</p>
<p>Ich habe eine Access Datenbank mit einer Tabelle namens Server und deren Inhalt, ID_Server und Servername.</p>
<p>Da ich gerne Objektorientiert schreiben möchte, möchte ich dieses in einem Objet namens Datenbank (CLASS) und einer Methode (Funktion) realisieren.</p>
<p>So jetzt weis ich nicht wo der Inhalt den ich aus der Datenbank auslese steht, und wie ich dann den Inhalt in eine Variable schreibe, bei mir in einen Vector, der die CLASS CServer beinhaltet....</p>
<p>So weit bin ich gekommen:</p>
<p>void CDatenbank::fSelectServer()<br />
{<br />
recordset-&gt;Open(&quot;SELECT ID_Server, Servername FROM Server;&quot;,<br />
connection.GetInterfacePtr(),<br />
ADODB::adOpenForwardOnly, ADODB::adLockReadOnly,<br />
ADODB::adCmdText);<br />
while(!recordset-&gt;ADOEOF)<br />
{<br />
_variant_t var;<br />
var = recordset-&gt;Fields-&gt;GetItem(L&quot;name&quot;)-&gt;GetValue();<br />
CServer* pServer = new CServerstatic_cast<a href="std::string" rel="nofollow">std::string</a>(_bstr_t(var.bstrVal)), this);<br />
vServerliste.push_back(pServer);</p>
<p>recordset-&gt;MoveNext();<br />
};<br />
recordset-&gt;Close();<br />
}</p>
<p>Kann mir jemand Helfen ??</p>
<p>Gruß und DAnke<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/68349/ado-und-select</link><generator>RSS for Node</generator><lastBuildDate>Sat, 06 Jun 2026 19:48:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/68349.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 17 Mar 2004 10:12:49 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ADO und SELECT on Wed, 17 Mar 2004 10:12:49 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>mal wieder ne Frage von mir.</p>
<p>Ich habe eine Access Datenbank mit einer Tabelle namens Server und deren Inhalt, ID_Server und Servername.</p>
<p>Da ich gerne Objektorientiert schreiben möchte, möchte ich dieses in einem Objet namens Datenbank (CLASS) und einer Methode (Funktion) realisieren.</p>
<p>So jetzt weis ich nicht wo der Inhalt den ich aus der Datenbank auslese steht, und wie ich dann den Inhalt in eine Variable schreibe, bei mir in einen Vector, der die CLASS CServer beinhaltet....</p>
<p>So weit bin ich gekommen:</p>
<p>void CDatenbank::fSelectServer()<br />
{<br />
recordset-&gt;Open(&quot;SELECT ID_Server, Servername FROM Server;&quot;,<br />
connection.GetInterfacePtr(),<br />
ADODB::adOpenForwardOnly, ADODB::adLockReadOnly,<br />
ADODB::adCmdText);<br />
while(!recordset-&gt;ADOEOF)<br />
{<br />
_variant_t var;<br />
var = recordset-&gt;Fields-&gt;GetItem(L&quot;name&quot;)-&gt;GetValue();<br />
CServer* pServer = new CServerstatic_cast<a href="std::string" rel="nofollow">std::string</a>(_bstr_t(var.bstrVal)), this);<br />
vServerliste.push_back(pServer);</p>
<p>recordset-&gt;MoveNext();<br />
};<br />
recordset-&gt;Close();<br />
}</p>
<p>Kann mir jemand Helfen ??</p>
<p>Gruß und DAnke<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/482380</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/482380</guid><dc:creator><![CDATA[andy_mann]]></dc:creator><pubDate>Wed, 17 Mar 2004 10:12:49 GMT</pubDate></item><item><title><![CDATA[Reply to ADO und SELECT on Wed, 17 Mar 2004 10:26:45 GMT]]></title><description><![CDATA[<p>Servus,</p>
<p>der Inhalt steht in:</p>
<pre><code class="language-cpp">_variant_t var; 
var = recordset-&gt;Fields-&gt;GetItem(L&quot;name&quot;)-&gt;GetValue(); 
CServer* pServer = new CServerstatic_cast&lt;std::string&gt;(_bstr_t(var.bstrVal)), this); 
vServerliste.push_back(pServer);
</code></pre>
<p>_variant_t var;</p>
<p>In deinem Variant &quot;var&quot; steht der Inhalt drin den liest du ja mit GetValue() aus. Wenn du mit dem Datentyp nicht zurecht kommst kannste ja auch CString verwenden:</p>
<pre><code class="language-cpp">CString str;
ASSERT(var.vt == VT_BSTR);
str = (var.vt == VT_BSTR) ? (LPCTSTR)var.bstrVal : &quot;&quot;;
</code></pre>
<p>Dann steht der Rotz in &quot;str&quot; vom Typ CString.</p>
<p>Verstehe aber jetzt nicht worauf du hinaus willst? Du hast doch die Daten in eine Variable geschrieben.</p>
<p>*winke*<br />
Hellsgore</p>
]]></description><link>https://www.c-plusplus.net/forum/post/482395</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/482395</guid><dc:creator><![CDATA[Hellsgore]]></dc:creator><pubDate>Wed, 17 Mar 2004 10:26:45 GMT</pubDate></item><item><title><![CDATA[Reply to ADO und SELECT on Wed, 17 Mar 2004 10:40:22 GMT]]></title><description><![CDATA[<p>Ich Danke Dir,</p>
<p>wenn jetzt der Inhhalt vom Typ _variant_t im var steht, wie sieht der dann aus ??</p>
<p>Ich mache eine Select anweisung mit SELECT ID_Server, Servername....<br />
wie steht jetzt der Inhalt in der Variable ??</p>
<p>Es sind ja 2 Spalten und wird in einen String geschrieben ??<br />
Inhalt1Inhalt2 ????</p>
<p>Gruß<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/482409</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/482409</guid><dc:creator><![CDATA[andy_mann]]></dc:creator><pubDate>Wed, 17 Mar 2004 10:40:22 GMT</pubDate></item><item><title><![CDATA[Reply to ADO und SELECT on Wed, 17 Mar 2004 11:06:16 GMT]]></title><description><![CDATA[<p>Ich glaube sogar das geht nicht. (Denke ich mal, erschlagt mich wenn es nicht stimmt)<br />
aber wenn du ein SELECT ID_Server FROM Server machst, dann hast du ja nur die Spalte ID_Server in deinem Recordset stehen. Dann kannst du eigentlich garnicht auf die Spalte &quot;Name&quot; zugreifen.</p>
<p>Wenn dann solltest du SELECT ID_Server, Servername, name FROM Server machen.<br />
oder bei GetFieldValue(L&quot;name&quot;) ist ein Tippfehler und sollte GetFieldValue(L&quot;Servername&quot;) heißen.</p>
<p>Wenn du ein GetFieldValue machst dann nimmt er den Wert von der Spalte &quot;Servername&quot; von der aktuellen Position des Recordsets. d.h. in var steht jetzt der erste Wert drin den du in der Spalte &quot;name&quot; drinstehen hast. Nach einem MoveNext() und dann wieder GetFieldValue wird der nächste Wert ausgelesen.</p>
<p>Möchtest du jetzt noch ID_Server haben dann muss du ein:</p>
<pre><code class="language-cpp">var = .....GetFieldValue(&quot;ID_Server&quot;);
</code></pre>
<p>dann steht der Wert von der Spalte ID_Server in &quot;var&quot; drin. Nach einem MoveNext nimmt er das nächste Tubel und schreibt den zweiten Wert mit GetFieldValue in den Variant &quot;var&quot; hinein.</p>
<p>Ich hoffe das ist soweit verstanen *g*</p>
<p>*winke*<br />
Hellsgore</p>
<p>EDIT:</p>
<p>Um deine Frage besser zu beantworten noch ein Zusatz:</p>
<p>In deinem Recordset steht jetzt nicht &quot;Wert1Wert2Wert3&quot; drin sondern<br />
Spalte1 Spalte2 Spalte3<br />
Wert1 Wert1 Wert1<br />
Wert2 Wert2 Wert2</p>
<p>die Werte sprichst du halt mit:</p>
<pre><code class="language-cpp">var = recordset-&gt;GetFieldValue(&quot;Spalte2&quot;);
</code></pre>
<p>an.</p>
<p>der Variant wird natürlich bei jedem neuen GetFieldValue überschrieben. Du machst ja mit dem Operand &quot;=&quot; eine Zuweisung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/482423</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/482423</guid><dc:creator><![CDATA[Hellsgore]]></dc:creator><pubDate>Wed, 17 Mar 2004 11:06:16 GMT</pubDate></item><item><title><![CDATA[Reply to ADO und SELECT on Wed, 17 Mar 2004 11:11:17 GMT]]></title><description><![CDATA[<p>Danke,</p>
<p>also dann so...</p>
<p>while(!recordset-&gt;ADOEOF)<br />
{<br />
_variant_t ID, NAME;<br />
ID = recordset-&gt;Fields-&gt;GetItem(L&quot;ID_Server&quot;)-&gt;GetValue();<br />
NAME = recordset-&gt;Fields-&gt;GetItem(L&quot;Servername&quot;)-&gt;GetValue();</p>
<p>CServer* pServer = new CServer(ID, this);<br />
vServerliste.push_back(pServer);</p>
<p>recordset-&gt;MoveNext();<br />
};</p>
<p>Gruß<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/482427</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/482427</guid><dc:creator><![CDATA[andy_mann]]></dc:creator><pubDate>Wed, 17 Mar 2004 11:11:17 GMT</pubDate></item><item><title><![CDATA[Reply to ADO und SELECT on Wed, 17 Mar 2004 11:26:38 GMT]]></title><description><![CDATA[<p>You take the point <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>Japp du hast er verstanden. Jetzt hast du schonmal die beiden Sachen in deinen Varianten (ist das die Mehrzahl?) drin stehen. Damit kannst du dann weiter arbeiten.</p>
<p>Zwar weiss ich zwar noch nicht ganz was du damit:</p>
<pre><code class="language-cpp">CServer* pServer = new CServer(ID, this); 
vServerliste.push_back(pServer);
</code></pre>
<p>vor hast, aber das war ja nicht deine Frage. <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>Viel Spass noch...<br />
*winke*<br />
Hellsgore</p>
]]></description><link>https://www.c-plusplus.net/forum/post/482435</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/482435</guid><dc:creator><![CDATA[Hellsgore]]></dc:creator><pubDate>Wed, 17 Mar 2004 11:26:38 GMT</pubDate></item><item><title><![CDATA[Reply to ADO und SELECT on Wed, 17 Mar 2004 14:49:33 GMT]]></title><description><![CDATA[<p>Hhhmmmmmm...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/482575</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/482575</guid><dc:creator><![CDATA[andy_mann]]></dc:creator><pubDate>Wed, 17 Mar 2004 14:49:33 GMT</pubDate></item><item><title><![CDATA[Reply to ADO und SELECT on Wed, 17 Mar 2004 13:53:32 GMT]]></title><description><![CDATA[<p>Mhmm<br />
Schuß ins blaue.....</p>
<pre><code class="language-cpp">static_cast&lt;std::string&gt;(_bstr_t(var.bstrVal));
</code></pre>
<p>musste mal testen.</p>
<p>*winke*<br />
Hellsgore</p>
]]></description><link>https://www.c-plusplus.net/forum/post/482593</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/482593</guid><dc:creator><![CDATA[Hellsgore]]></dc:creator><pubDate>Wed, 17 Mar 2004 13:53:32 GMT</pubDate></item><item><title><![CDATA[Reply to ADO und SELECT on Wed, 17 Mar 2004 14:52:31 GMT]]></title><description><![CDATA[<p>irgendwie scheint da noch was nicht zu stimmen.....</p>
<p>hier der code...</p>
<p>void CServerliste::SchreibeServerAusDatenbank()<br />
{<br />
CDatenbank Datenbank;<br />
Datenbank.fDatenbankOeffnen();</p>
<p>while(!Datenbank.fSelectServer()-&gt;ADOEOF)<br />
{<br />
_variant_t ID, NAME;<br />
ID = Datenbank.fSelectServer()-&gt;Fields-&gt;GetItem(L&quot;ID_Server&quot;)-&gt;GetValue();<br />
NAME = Datenbank.fSelectServer()-&gt;Fields-&gt;GetItem(L&quot;Servername&quot;)-&gt;GetValue();</p>
<p>CServer* pServer = new CServer(static_cast<a href="std::string" rel="nofollow">std::string</a>(_bstr_t(ID.bstrVal)), static_cast<a href="std::string" rel="nofollow">std::string</a>(_bstr_t(NAME.bstrVal)), this);<br />
vServerliste.push_back(pServer);*/</p>
<p>Datenbank.fSelectServer()-&gt;MoveNext();<br />
};<br />
Datenbank.fSelectServer()-&gt;Close();<br />
Datenbank.fDatenbankSchliessen();<br />
}</p>
<p>keine Fehlermeldung, aber es knallt....</p>
<p>Hat jemand ne Idee ??<br />
Gruß<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/482699</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/482699</guid><dc:creator><![CDATA[andy_mann]]></dc:creator><pubDate>Wed, 17 Mar 2004 14:52:31 GMT</pubDate></item><item><title><![CDATA[Reply to ADO und SELECT on Wed, 17 Mar 2004 15:26:31 GMT]]></title><description><![CDATA[<p>Hat den keiner ne Idee ??</p>
<p>Gruß<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/482738</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/482738</guid><dc:creator><![CDATA[andy_mann]]></dc:creator><pubDate>Wed, 17 Mar 2004 15:26:31 GMT</pubDate></item><item><title><![CDATA[Reply to ADO und SELECT on Wed, 17 Mar 2004 16:31:43 GMT]]></title><description><![CDATA[<p>Hhhmmmmm, noch was..</p>
<p>ich hole mir die Variable aus der Datenbank mit:</p>
<p>_variant_t ID;<br />
ID = recordset-&gt;Fields-&gt;GetItem(L&quot;ID_Server&quot;)-&gt;GetValue();</p>
<p>ID ist allerdings eine Zahl und soll auch eine bleiben...</p>
<p>wie konvertiere ich jetzt dies ??</p>
<p>Gruß<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/482804</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/482804</guid><dc:creator><![CDATA[andy_mann]]></dc:creator><pubDate>Wed, 17 Mar 2004 16:31:43 GMT</pubDate></item></channel></rss>