AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken ADOConnection Servernamen ermitteln...
Thema durchsuchen
Ansicht
Themen-Optionen

ADOConnection Servernamen ermitteln...

Ein Thema von Panschi · begonnen am 28. Sep 2011 · letzter Beitrag vom 29. Sep 2011
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#11

AW: ADOConnection Servernamen ermitteln...

  Alt 28. Sep 2011, 13:36
Wie schon gesagt: such doch einfach im ConnectionString nach der Zeichenfolge (mit Pos/PosEx). Ab der Position kopierst Du dann.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#12

AW: ADOConnection Servernamen ermitteln...

  Alt 28. Sep 2011, 13:37
Nein das mußt Du nicht.
suche einfach nach "Data Source=" und Du hast den Startpunkt für den gesuchten Namen.
Übrigens könnte der Servername ganz am Ende Deines ConnStrings stehen.

Gruß
K-H
edith:
zu spät!!
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Panschi
Panschi

Registriert seit: 30. Aug 2011
Ort: Sauerland
51 Beiträge
 
Delphi XE2 Enterprise
 
#13

AW: ADOConnection Servernamen ermitteln...

  Alt 28. Sep 2011, 13:53
Es klappt und es ist mit DeddyHs Idee sogar kürzer und einfacher
Vielen dank

Hier mein Quelltext:


Delphi-Quellcode:
procedure TFMain.ServerNamen(const Con: TADOConnection);
var Verbindung: string;
    i: Integer;
    Start: Integer;

begin
  ServerName := '';
  Verbindung := Con.ConnectionString;

  start := Pos('Data Source=', Verbindung);
  start := start+12;

  ServerName := '';

  for i := start to length(verbindung)-1 do
  begin
    if Verbindung[i] = ';then
    begin
      Break;
    end
    else begin
      Servername := Servername + Verbindung[i];
    end;
  end;
end;
Warum mögen Frauen OOP-Programmierer? Weil sie Klasse haben
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#14

AW: ADOConnection Servernamen ermitteln...

  Alt 28. Sep 2011, 14:10
Delphi-Quellcode:
procedure TFMain.ServerNamen(const Con: TADOConnection);
var Verbindung: string;
    i: Integer;
    Start: Integer;

begin
  ServerName := '';
  Verbindung := Con.ConnectionString;

  start := Pos('Data Source=', Verbindung);
  start := start+12;

  ServerName := '';

  for i := start to length(verbindung) do {--auch das letzte Zeichen sollte mitgenommen werden!}
  begin
    if Verbindung[i] = ';then
    begin
      Break;
    end
    else begin
      Servername := Servername + Verbindung[i];
    end;
  end;
end;
Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Panschi
Panschi

Registriert seit: 30. Aug 2011
Ort: Sauerland
51 Beiträge
 
Delphi XE2 Enterprise
 
#15

AW: ADOConnection Servernamen ermitteln...

  Alt 28. Sep 2011, 14:18
aber ein string ist doch nullterminiert, von daher wäre das letzte Zeichen eines 10-Zeichen langen strings das Zeichen mit dem Index 9!
Warum mögen Frauen OOP-Programmierer? Weil sie Klasse haben
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#16

AW: ADOConnection Servernamen ermitteln...

  Alt 28. Sep 2011, 14:30
Nein, Strings gehen von 1 bis Length. Ich habe da auch noch einen Vorschlag (getippt und nicht getestet):
Delphi-Quellcode:
procedure TFMain.ServerNamen(const Con: TADOConnection);
const
  SUCHSTRING = 'Data Source=';
var Verbindung: string;
    i: Integer;
    Start: Integer;

begin
  Verbindung := Con.ConnectionString;
  ServerName := '';
  
  Start := Pos(SUCHSTRING, Verbindung);
  if Start > 0 then
    begin
      Delete(Verbindung, 1, Start + Length(SUCHSTRING));
      Start := Pos(';', Verbindung);
      if Start > 0 then
        Delete(Verbindung, Start, Length(Verbindung));
      Servername := Verbindung;
    end;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Panschi
Panschi

Registriert seit: 30. Aug 2011
Ort: Sauerland
51 Beiträge
 
Delphi XE2 Enterprise
 
#17

AW: ADOConnection Servernamen ermitteln...

  Alt 28. Sep 2011, 15:42
Funktionert soweit einwandfrei, jedoch fängt er ein Zeichen weiter an als er soll!
Warum mögen Frauen OOP-Programmierer? Weil sie Klasse haben
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#18

AW: ADOConnection Servernamen ermitteln...

  Alt 28. Sep 2011, 15:50
Wie meinen? Zeig doch mal das Original und dann das Ergebnis, dann sieht man wohl eher, wo der Fehler liegt.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Panschi
Panschi

Registriert seit: 30. Aug 2011
Ort: Sauerland
51 Beiträge
 
Delphi XE2 Enterprise
 
#19

AW: ADOConnection Servernamen ermitteln...

  Alt 28. Sep 2011, 15:55
das Orginal is "WS-200-02\SQLEXPRESS"
Bei meiner Methode erscheint:"WS-200-02\SQLEXPRESS"
Bei deiner Methode erscheint:"S-200-02\SQLEXPRESS"
Warum mögen Frauen OOP-Programmierer? Weil sie Klasse haben
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#20

AW: ADOConnection Servernamen ermitteln...

  Alt 28. Sep 2011, 15:59
Dann löschen wir ein Zeichen weniger:
Delete(Verbindung, 1, Start + Length(SUCHSTRING) - 1);
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 06:35 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