AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Quelldatenbank eines ODBC-Eintrags zur Laufzeit ändern.
Thema durchsuchen
Ansicht
Themen-Optionen

Quelldatenbank eines ODBC-Eintrags zur Laufzeit ändern.

Ein Thema von Lord_Stifterl · begonnen am 25. Nov 2003 · letzter Beitrag vom 2. Dez 2003
Antwort Antwort
Lord_Stifterl

Registriert seit: 13. Dez 2002
Ort: Wien
175 Beiträge
 
Turbo Delphi für Win32
 
#1

Quelldatenbank eines ODBC-Eintrags zur Laufzeit ändern.

  Alt 25. Nov 2003, 01:27
Hallo alle zusammen,

ich hoffe jemand von euch kann mir helfen. Ich schaffe es einfach nicht folgende PCHAR Variable in eine Zeichenkette einzugliedern um einen API-Call aufzurufen, mit welchem ich einen ODBC-Eintrag zur Laufzeit bearbeiten bzw. konfigurieren kann.

Code:
     
  var
  Pfad: PCHAR;
      Pfad := PCHAR(eDB.Text);
      if not (SQLConfigDataSource(0,ODBC_CONFIG_DSN,'Microsoft Access-Treiber (*.mdb)',
        PChar('DSN=DesktopDB'#0'Description='#0'Database='#0'User='#0'Password='#0) ) ) then
//Die Variable Pfad müsste bei DATABASE eingefügt werden, aber irgendwie will mir das nicht
//gelingen.
      Begin
        ShowMessage('Beim Konfigurieren des ODBC-Eintrags ist ein Fehler aufgetreten.');
      End;
LG

Lord Stifterl
Alex
  Mit Zitat antworten Zitat
Lord_Stifterl

Registriert seit: 13. Dez 2002
Ort: Wien
175 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Quelldatenbank eines ODBC-Eintrags zur Laufzeit ändern.

  Alt 1. Dez 2003, 23:22
Ist schon irgendwie komisch. Das ist der zweite Eintrag, welchen ich in dieses Forum schreibe, und gleichzeitig ist es der zweite Eintrag zu dem ich keine Antwort bekomme. Sind die Fragen zu kompliziert? Wollt Ihr mir nicht helfen??

LG
Lord_Stifterl
Alex
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Quelldatenbank eines ODBC-Eintrags zur Laufzeit ändern.

  Alt 1. Dez 2003, 23:28
Hallo Lord_Stifterl,

hast du dir schon einmal den Beitrag in der Codelibrary angeschaut, der sich mit ODBCbefasst? Vielleicht hilft der dir weiter!?
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Lord_Stifterl

Registriert seit: 13. Dez 2002
Ort: Wien
175 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Quelldatenbank eines ODBC-Eintrags zur Laufzeit ändern.

  Alt 2. Dez 2003, 12:02
Lieber Spock,

aus diesem Beitrag hab ich den Code. Wie gesagt mein Problem liegt einfach darin, dass sämtliche Parameter übergeben werden, jedoch nicht der Parameter, welcher angibt wo die DB liegt. Wenn ich den Parameter fix übergebe(hardcoded) dann funktionierts. Dieser Wert sollte aber variabel sein da ich auf verschiedene Datenbanken zugreifen will. Logische folge daraus, ich muss mir einen String zusammenbasteln. Jedoch hab ich noch nie eine PChar Zeichenkette zusammengebastelt. Die üblichen Varianten wie z.B.:

Code:
name := 'Lord' + '_' + 'Stifterl';
funktionieren nicht. Jetzt wollte ich wissen ob mir jemand sagen kann, wie ich die Variable PFAD richtig in die PCHAR-Zeichenkette einfügen kann bzw. ob dies überhaupt möglich ist. Kann sein, dass das in meiner Problemstellung nicht so rübergekommen ist wie es sollte.

Danke auf jedenfall für deine Antwort

LG
Lord_Stifterl
Alex
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Quelldatenbank eines ODBC-Eintrags zur Laufzeit ändern.

  Alt 2. Dez 2003, 13:21
Hallo Lord_Stifterl,

am besten baust du den String ganz normal zusammen und castest ihn dann im Aufruf:

Delphi-Quellcode:
var
  dbname : String;

...
  dbname := 'DSN=DesktopDB'+#0+'Description='+#0+'Database='+theCurrentDatabase+#0
         +'User='+theCurrentUser+#0+'Password='+theCurrentPassword+#0;
  
  Pfad := PCHAR(eDB.Text);
  if not (SQLConfigDataSource(0,ODBC_CONFIG_DSN,'Microsoft Access-Treiber (*.mdb)', PChar(dbname)) then ...
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Lord_Stifterl

Registriert seit: 13. Dez 2002
Ort: Wien
175 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Quelldatenbank eines ODBC-Eintrags zur Laufzeit ändern.

  Alt 2. Dez 2003, 22:58
Hi MrSpock,

ich bin mir leider nicht mehr sicher ob ich diese Variante schon versucht habe. Werde es auf jedenfall mal probieren. Danke für die Antwort und sollten wir uns nicht mehr lesen,

Frohe Weihnachten, Prosit 2004 und schöne Grüße aus Wien,

Lord_Stifterl
Alex
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz