<?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[Datenbank-Connection komplett über Sourcen]]></title><description><![CDATA[<p>Hi,</p>
<p>ich greife über ODBC auf eine Datenbank zu. Da ich ungern über Komponenten arbeite, schreibe ich die Zugriffe selbst.</p>
<p>Der Verbindungsaufbau zur DB geschieht über TDatabase. Nur jetzt würde ich gerne alle anderen Objekte (z.B. Abfragen mit TQuery) über diese Connection laufen lassen. Muss jedes Objekt mit den Login-Infos, DSN etc. gefüttert werden, damit das funktioniert?</p>
<p>Ich benutze BCB 5</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/180423/datenbank-connection-komplett-über-sourcen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 15 Aug 2026 16:01:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/180423.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 02 May 2007 14:37:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Datenbank-Connection komplett über Sourcen on Wed, 02 May 2007 14:37:54 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich greife über ODBC auf eine Datenbank zu. Da ich ungern über Komponenten arbeite, schreibe ich die Zugriffe selbst.</p>
<p>Der Verbindungsaufbau zur DB geschieht über TDatabase. Nur jetzt würde ich gerne alle anderen Objekte (z.B. Abfragen mit TQuery) über diese Connection laufen lassen. Muss jedes Objekt mit den Login-Infos, DSN etc. gefüttert werden, damit das funktioniert?</p>
<p>Ich benutze BCB 5</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1277605</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277605</guid><dc:creator><![CDATA[Neo2k3]]></dc:creator><pubDate>Wed, 02 May 2007 14:37:54 GMT</pubDate></item><item><title><![CDATA[Reply to Datenbank-Connection komplett über Sourcen on Wed, 02 May 2007 14:44:15 GMT]]></title><description><![CDATA[<p>Suchst du das hier?</p>
<pre><code class="language-cpp">qryQuery-&gt;DatabaseName = dbDatenbank-&gt;DatabaseName;
</code></pre>
<p>Oben der Code sollte für TDatabase passen. Der hier ist analog für TADOConnection:</p>
<pre><code class="language-cpp">qryQuery-&gt;Connection = dbDatenbank;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1277612</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277612</guid><dc:creator><![CDATA[Fincki]]></dc:creator><pubDate>Wed, 02 May 2007 14:44:15 GMT</pubDate></item><item><title><![CDATA[Reply to Datenbank-Connection komplett über Sourcen on Wed, 02 May 2007 14:51:14 GMT]]></title><description><![CDATA[<p>Da kommt eine Fehlermeldung &quot;Unbekannte Datenbank&quot;.<br />
Wenn ich allerdings den AliasName angebe klappt es. Das Problem ist nur, dass er den LoginPrompt erneut anzeigt und das möchte ich ja unter anderem verhindern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1277616</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277616</guid><dc:creator><![CDATA[Neo2k3]]></dc:creator><pubDate>Wed, 02 May 2007 14:51:14 GMT</pubDate></item><item><title><![CDATA[Reply to Datenbank-Connection komplett über Sourcen on Wed, 02 May 2007 14:56:04 GMT]]></title><description><![CDATA[<p>Ich poste mal meine Klasse.<br />
Der Connect funktioniert. Die Query nicht (Fehler tritt beim ExecSQL auf).</p>
<pre><code>DBHandler::DBHandler( TComponent *Owner, String OdbcDsn,
                      String DatabaseName, String SessionName,
                      String Username, String Password)
{
 /*
  * Membervariablen initialisieren
  */
 this-&gt;DatabaseName = DatabaseName;
 this-&gt;SessionName = SessionName;
 this-&gt;Username = Username;
 this-&gt;Password = Password;
 this-&gt;Owner = Owner;
 this-&gt;OdbcDsn = OdbcDsn;

 /*
  * Verbindungsparameter der Datenbank setzen
  */
 DB = new TDatabase(Owner);
 DB-&gt;AliasName = OdbcDsn;
 DB-&gt;DatabaseName = DatabaseName;
 DB-&gt;Exclusive = false;
 DB-&gt;HandleShared = false;
 DB-&gt;KeepConnection = true;
 DB-&gt;LoginPrompt = false;
 DB-&gt;Name = &quot;MyDatabase&quot;;
 DB-&gt;ReadOnly = false;
 DB-&gt;SessionName = SessionName;
 DB-&gt;Tag = 0;
 DB-&gt;TransIsolation = tiReadCommitted;

 TStringList *MyStringList = new TStringList;
 MyStringList-&gt;Add(&quot;USER NAME=&quot;+Username);
 MyStringList-&gt;Add(&quot;PASSWORD=&quot;+Password);
 DB-&gt;Params = MyStringList;

 /*
  * Abfrage-Objekt erstellen und mit Datenbank verbinden
  */
 query = new TQuery(Owner);
 // PROBLEMZONE
 query-&gt;DatabaseName = DB-&gt;AliasName;

}

bool DBHandler::Connect()
{
  // Wenn die Sitzung existiert, diese aktivieren,
  // andernfalls neue Sitzung erstellen.
  Sessions-&gt;OpenSession(SessionName);
  TSession *pSession = Sessions-&gt;FindSession(SessionName);
  TDatabase *TempDatabase = pSession-&gt;FindDatabase(DatabaseName);
  // Ist die Datenbankkomponente bereits vorhanden, dann einfach diese zurückgeben
  if (TempDatabase)
    return TempDatabase;

 // Neue Datenbankkomponente erstellen.
 try
 {
   DB-&gt;Connected = true;

   return true;
  }
  catch (const Exception &amp;e)
  {
    delete DB;
    Application-&gt;MessageBox( e.Message.c_str(), &quot;Fehler&quot;, 16 );
    return false;
  }
}

void DBHandler::Disconnect()
{
 if( DB ){
     DB-&gt;Connected = false;
     delete DB;
 }
}

void DBHandler::Query(String Stmt)
{

 query-&gt;Close();
 query-&gt;SQL-&gt;Clear();

 query-&gt;SQL-&gt;Add(&quot;insert into provider(name,netz) values(:name,:netz)&quot;);
 query-&gt;ParamByName(&quot;name&quot;)-&gt;Value = &quot;bla&quot;;
 query-&gt;ParamByName(&quot;netz&quot;)-&gt;Value = &quot;narf&quot;;
 query-&gt;ExecSQL();

 //return query;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1277623</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277623</guid><dc:creator><![CDATA[Neo2k3]]></dc:creator><pubDate>Wed, 02 May 2007 14:56:04 GMT</pubDate></item><item><title><![CDATA[Reply to Datenbank-Connection komplett über Sourcen on Wed, 02 May 2007 14:58:20 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">LoginPrompt = false;
</code></pre>
<p>Zum Test empfehle ich dir eine Komponente auf dem Formalur anzulegen und die Properties direkt im Objektinspektor einzugeben. Wenn das dann funktioniert kannst du es im Quellcode formulieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1277631</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277631</guid><dc:creator><![CDATA[Fincki]]></dc:creator><pubDate>Wed, 02 May 2007 14:58:20 GMT</pubDate></item><item><title><![CDATA[Reply to Datenbank-Connection komplett über Sourcen on Wed, 02 May 2007 15:02:01 GMT]]></title><description><![CDATA[<p>Ich denke</p>
<pre><code class="language-cpp">query-&gt;DatabaseName = DB-&gt;AliasName;
</code></pre>
<p>ist falsch.</p>
<p>Eher so:</p>
<pre><code class="language-cpp">query-&gt;DatabaseName = DB-&gt;DatabaseName;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1277636</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277636</guid><dc:creator><![CDATA[Fincki]]></dc:creator><pubDate>Wed, 02 May 2007 15:02:01 GMT</pubDate></item><item><title><![CDATA[Reply to Datenbank-Connection komplett über Sourcen on Wed, 02 May 2007 15:06:09 GMT]]></title><description><![CDATA[<p>Da kommt der o.g. Fehler.<br />
Kann ich den Komponenten nicht irgendwie den Datenbankpointer übergeben?<br />
Weil wenn ich überall nur den Namen selbst (AnsiString) übergeben kann, muss ja jede Komponente selbst eine Verbindung aufbauen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1277643</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277643</guid><dc:creator><![CDATA[Neo2k3]]></dc:creator><pubDate>Wed, 02 May 2007 15:06:09 GMT</pubDate></item><item><title><![CDATA[Reply to Datenbank-Connection komplett über Sourcen on Wed, 02 May 2007 15:10:12 GMT]]></title><description><![CDATA[<p>Ahhh ich hab ihn....<br />
Die Codezeilen wo mit der Session gearbeitet wird müssen raus, dann gehts.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1277651</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277651</guid><dc:creator><![CDATA[Neo2k3]]></dc:creator><pubDate>Wed, 02 May 2007 15:10:12 GMT</pubDate></item><item><title><![CDATA[Reply to Datenbank-Connection komplett über Sourcen on Wed, 02 May 2007 15:11:06 GMT]]></title><description><![CDATA[<p>Besten Dank <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1277653</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277653</guid><dc:creator><![CDATA[Neo2k3]]></dc:creator><pubDate>Wed, 02 May 2007 15:11:06 GMT</pubDate></item></channel></rss>