<?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[Probleme bei SQL - Abfrage mit dem Borland - Builder]]></title><description><![CDATA[<p>Hallo Forum,</p>
<p>erst einmal tut es mir leid, wenn dieser Thread nicht im richtigen forum gelandet ist, aber ich weiss nicht wo die Probleme herkommen, deshalb habei ch gedacht, es könnte am Borland Builder liegen <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="😉"
    /> Zur Not sind es immer die anderen...</p>
<p>Ich habe eine total einfach SQL - Abfrage. Die siehr so aus:</p>
<pre><code>AnsiString Abfrage::MannschaftsnamenHolen(TComponent* Owner, int pos)
{
   verbindung = new Verbindung();
   TADOQuery *abfrage = new TADOQuery(Owner);
   abfrage-&gt;Connection = verbindung-&gt;VerbindungHerstellen(Owner);
   abfrage-&gt;SQL-&gt;Clear();
   abfrage-&gt;SQL-&gt;Add(&quot;SELECT Mannschaftsname FROM Mannschaft where Mannschaftsnummer = &quot; + IntToStr(pos) + &quot;;&quot;);
   abfrage-&gt;Open();
   String erg = abfrage-&gt;FieldByName(&quot;Mannschaftsname&quot;)-&gt;AsString;

   verbindung-&gt;VerbindungSchliessen(Owner);
   abfrage-&gt;Close();
   return erg; 
}
</code></pre>
<p>Verbindung ist eine Klasse, VerbindungHerstellen sieht so aus :</p>
<pre><code>TADOConnection* Verbindung::VerbindungHerstellen(TComponent* Owner)
{
   try
   {
      verbindung = new TADOConnection(Owner);
      verbindung-&gt;ConnectionString =
         &quot;Provider=Microsoft.Jet.OLEDB.4.0;&quot;
         &quot;User ID=Admin;&quot;
         &quot;Data Source=Imman.mdb;&quot;
         &quot;Mode=Share Deny None;&quot;
         &quot;Extended Properties=\&quot;\&quot;;&quot;
         &quot;Jet OLEDB:System database=\&quot;\&quot;;&quot;
         &quot;Jet OLEDB:Registry Path=\&quot;\&quot;;&quot;
         &quot;Jet OLEDB:Database Password=\&quot;\&quot;;&quot;
         &quot;Jet OLEDB:Engine Type=5;&quot;
         &quot;Jet OLEDB:Database Locking Mode=1;&quot;
         &quot;Jet OLEDB:Global Partial Bulk Ops=2;&quot;
         &quot;Jet OLEDB:Global Bulk Transactions=1;&quot;
         &quot;Jet OLEDB:New Database Password=\&quot;\&quot;;&quot;
         &quot;Jet OLEDB:Create System Database=False;&quot;
         &quot;Jet OLEDB:Encrypt Database=False;&quot;
         &quot;Jet OLEDB:Don't Copy Locale on Compact=False;&quot;
         &quot;Jet OLEDB:Compact Without Replica Repair=False;&quot;
         &quot;Jet OLEDB:SFP=False&quot;;
      verbindung-&gt;Open();
   }
   catch(Exception *exception)
   {
   }
   return verbindung;
}
</code></pre>
<p>Jetzt habe ich es gleich... Zuletzt noch der Methodenaufruf, der sieht so aus...</p>
<pre><code>AnsiString test = &quot;&quot;;
Mannschaften *alle[40];

for (int i=0; i&lt;40; i++)
   {
      AnsiString name = ListBox1-&gt;Items-&gt;Strings[i];
      ShowMessage(name);
      alle[i] = abfrage-&gt;MannschaftsAbfrage(Owner, name);
      test += alle[i]-&gt;getMannschaftsname() + &quot;\n&quot;;
   }
</code></pre>
<p>ShowMessage(test);</p>
<p>Das Problem ist nun, dass in der ersten Box alle Mannschaftsnamen sehen kann, nachher, wenn ich test ausgebe, dann sind MANCHE Einträge doppelt, vierfach ,neunfach, der rest stimmt... Merkwürdig. Brauche bitte Hilfe !</p>
<p>Danke,</p>
<p>Oliver.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/77977/probleme-bei-sql-abfrage-mit-dem-borland-builder</link><generator>RSS for Node</generator><lastBuildDate>Mon, 29 Jun 2026 19:05:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/77977.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 26 Jun 2004 15:04:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme bei SQL - Abfrage mit dem Borland - Builder on Sat, 26 Jun 2004 15:04:08 GMT]]></title><description><![CDATA[<p>Hallo Forum,</p>
<p>erst einmal tut es mir leid, wenn dieser Thread nicht im richtigen forum gelandet ist, aber ich weiss nicht wo die Probleme herkommen, deshalb habei ch gedacht, es könnte am Borland Builder liegen <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="😉"
    /> Zur Not sind es immer die anderen...</p>
<p>Ich habe eine total einfach SQL - Abfrage. Die siehr so aus:</p>
<pre><code>AnsiString Abfrage::MannschaftsnamenHolen(TComponent* Owner, int pos)
{
   verbindung = new Verbindung();
   TADOQuery *abfrage = new TADOQuery(Owner);
   abfrage-&gt;Connection = verbindung-&gt;VerbindungHerstellen(Owner);
   abfrage-&gt;SQL-&gt;Clear();
   abfrage-&gt;SQL-&gt;Add(&quot;SELECT Mannschaftsname FROM Mannschaft where Mannschaftsnummer = &quot; + IntToStr(pos) + &quot;;&quot;);
   abfrage-&gt;Open();
   String erg = abfrage-&gt;FieldByName(&quot;Mannschaftsname&quot;)-&gt;AsString;

   verbindung-&gt;VerbindungSchliessen(Owner);
   abfrage-&gt;Close();
   return erg; 
}
</code></pre>
<p>Verbindung ist eine Klasse, VerbindungHerstellen sieht so aus :</p>
<pre><code>TADOConnection* Verbindung::VerbindungHerstellen(TComponent* Owner)
{
   try
   {
      verbindung = new TADOConnection(Owner);
      verbindung-&gt;ConnectionString =
         &quot;Provider=Microsoft.Jet.OLEDB.4.0;&quot;
         &quot;User ID=Admin;&quot;
         &quot;Data Source=Imman.mdb;&quot;
         &quot;Mode=Share Deny None;&quot;
         &quot;Extended Properties=\&quot;\&quot;;&quot;
         &quot;Jet OLEDB:System database=\&quot;\&quot;;&quot;
         &quot;Jet OLEDB:Registry Path=\&quot;\&quot;;&quot;
         &quot;Jet OLEDB:Database Password=\&quot;\&quot;;&quot;
         &quot;Jet OLEDB:Engine Type=5;&quot;
         &quot;Jet OLEDB:Database Locking Mode=1;&quot;
         &quot;Jet OLEDB:Global Partial Bulk Ops=2;&quot;
         &quot;Jet OLEDB:Global Bulk Transactions=1;&quot;
         &quot;Jet OLEDB:New Database Password=\&quot;\&quot;;&quot;
         &quot;Jet OLEDB:Create System Database=False;&quot;
         &quot;Jet OLEDB:Encrypt Database=False;&quot;
         &quot;Jet OLEDB:Don't Copy Locale on Compact=False;&quot;
         &quot;Jet OLEDB:Compact Without Replica Repair=False;&quot;
         &quot;Jet OLEDB:SFP=False&quot;;
      verbindung-&gt;Open();
   }
   catch(Exception *exception)
   {
   }
   return verbindung;
}
</code></pre>
<p>Jetzt habe ich es gleich... Zuletzt noch der Methodenaufruf, der sieht so aus...</p>
<pre><code>AnsiString test = &quot;&quot;;
Mannschaften *alle[40];

for (int i=0; i&lt;40; i++)
   {
      AnsiString name = ListBox1-&gt;Items-&gt;Strings[i];
      ShowMessage(name);
      alle[i] = abfrage-&gt;MannschaftsAbfrage(Owner, name);
      test += alle[i]-&gt;getMannschaftsname() + &quot;\n&quot;;
   }
</code></pre>
<p>ShowMessage(test);</p>
<p>Das Problem ist nun, dass in der ersten Box alle Mannschaftsnamen sehen kann, nachher, wenn ich test ausgebe, dann sind MANCHE Einträge doppelt, vierfach ,neunfach, der rest stimmt... Merkwürdig. Brauche bitte Hilfe !</p>
<p>Danke,</p>
<p>Oliver.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/548490</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/548490</guid><dc:creator><![CDATA[Oliver Kohl]]></dc:creator><pubDate>Sat, 26 Jun 2004 15:04:08 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei SQL - Abfrage mit dem Borland - Builder on Sat, 26 Jun 2004 18:26:25 GMT]]></title><description><![CDATA[<p>schonmal versucht die listbox vorher zu clearen?</p>
<p>listbox-&gt;item-&gt;clear();<br />
listbox-&gt;clear();</p>
]]></description><link>https://www.c-plusplus.net/forum/post/548575</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/548575</guid><dc:creator><![CDATA[*keiner*]]></dc:creator><pubDate>Sat, 26 Jun 2004 18:26:25 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei SQL - Abfrage mit dem Borland - Builder on Sat, 26 Jun 2004 21:46:25 GMT]]></title><description><![CDATA[<p>Danke,</p>
<p>schön, dass doch einer reagiert ;-). Das war's aber auch nicht. Sieht noch unverändert aus...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/548640</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/548640</guid><dc:creator><![CDATA[Oliver Kohl]]></dc:creator><pubDate>Sat, 26 Jun 2004 21:46:25 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei SQL - Abfrage mit dem Borland - Builder on Sun, 27 Jun 2004 11:24:44 GMT]]></title><description><![CDATA[<p>Hallo ???</p>
<p>Gibt es denn heute keine Lösungsversuche hier ? Wenn der Thread falsch ist, dann verschiebt ihn, aber meldet euch bitte IRGENDWIE !!!</p>
<p>Oliver.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/548819</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/548819</guid><dc:creator><![CDATA[Oliver Kohl]]></dc:creator><pubDate>Sun, 27 Jun 2004 11:24:44 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei SQL - Abfrage mit dem Borland - Builder on Mon, 28 Jun 2004 06:32:56 GMT]]></title><description><![CDATA[<p>Hallo Oliver,</p>
<p>woher kommen die Daten in der ListBox denn? Hast Du mal die Objekte überprüft? Ist bei denen jeder Name nur einmal vorhanden?</p>
<p>Was mir so auffällt, ist das Du jede Query und jede Verbindung neu erzeugst (und dann noch nicht mal wieder freigibst, sonder dass der App. überläßt). Du brauchst nur eine TADOConnection und eine TADOQuery. Bei der Query bräuchtest Du nicht mal den SQL zu ändern, wenn Du Parameter verwenden würdest. Diese beiden Änderungen verringern schon mal die potentiellen Fehlerquellen. Weiterhin findet keinlerlei Überprüfung statt, ob die Abfrage nur EIN Ergebnis, oder überhaupt eins liefert... Außerdem sollte bei Access-Dabenbank die CursorLocation auf clUseServer gesetzt werden (Standard dürfte clUseClient sein).<br />
Weiterhin ist Access ein bißchen komisch, was den SQL-Code angeht (bilde ich mir zumindest ein). Das Semikolon am Ende ist m.E. überflüssig, statt dessen, solltest Du mal alles nach dem WHERE bis zum Ende der Zeile in Klammer setzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/549129</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/549129</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 28 Jun 2004 06:32:56 GMT</pubDate></item></channel></rss>