Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   resultat der select anweisung an delphi-variable übergeben (https://www.delphipraxis.net/152494-resultat-der-select-anweisung-delphi-variable-uebergeben.html)

arcon 24. Jun 2010 13:16

resultat der select anweisung an delphi-variable übergeben
 
hallo miteinander,

ich würde gerne mit der SQL-anweisung
SQL-Code:
select db_id ('Database')
überprüfen, ob eine Datenbank angelegt ist.
im normalfall ist das ergebenis der selectanweisung eine zahl.
falls die datenbank nicht vorhanden ist, wird eine NULL zurückgegeben.

nun möchte ich gerne mit einer if-anweisung in delphi die variable abfragen,
ob sie nicht NULL ist. Sollte sie nicht Null sein, möchte ich gerne eine fehlermeldung ausgeben.

jedoch stehe ich gerade vor dem problem, dass ich nicht so recht weiß, wie ich das resultat der select-anweisung an eine variable in delphi übergebe .. ?!?

könnte mir da jemand weiterhelfen ?

gruß Arcon

mkinzler 24. Jun 2010 13:34

AW: resultat der select anweisung an delphi-variable übergeben
 
Sollte dann als erstes Feld der Ergebnismenge erscheinen. Welche Komponenten setzt du ein?

arcon 24. Jun 2010 13:40

AW: resultat der select anweisung an delphi-variable übergeben
 
delphi version 10
ms sql server 2005

connection string bau ich mir in delphi auf und nicht über sogenannte ado-kompo`s

momentan hab ich es mir so ausgedacht ..aber leider funkt. das net so ..

SQL-Code:
SQL := 'select db_id(''testversion'')';

adoConn := TADOConnection.Create(nil);
  try
    adoConn.ConnectionString := 'Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security ..';
      if (not adoConn.Connected) then
        adoConn.Open;

      if (adoConn.Execute(SQL) = NULL) then

      Prozessparameter_Stammdaten_loeschen(Sender);

      if (adoConn.Connected) then
        adoConn.Close;
  finally
    FreeAndNil(adoConn);
  end;
end;

mkinzler 24. Jun 2010 13:42

AW: resultat der select anweisung an delphi-variable übergeben
 
Was machst du in
Delphi-Quellcode:
      Prozessparameter_Stammdaten_loeschen()
?

arcon 24. Jun 2010 13:45

AW: resultat der select anweisung an delphi-variable übergeben
 
in dieser prozedur lösch ich den inhalt der tedit-felder ..
also nichts weltbewegendes

arcon 24. Jun 2010 13:48

AW: resultat der select anweisung an delphi-variable übergeben
 
Code:
      if (adoConn.Execute(SQL) = NULL) then
in dieser zeile habe ich gedacht, dass ich das resultat der SQL-Anweisung auf Null prüfen kann und er mir dann in die prozedur stammdaten_löschen springen kann, wenn die bedingung erfüllt ist..

aber irgendwie macht er das nicht ..

hat jemand eine lösung, wie ich das resultat der sql-anweisung ( select db_ID ('testversion') )
in eine variable von delphi übergeben kann und dort auf ihren wert hin überprüfen kann ?

danke.

Bbommel 24. Jun 2010 13:55

AW: resultat der select anweisung an delphi-variable übergeben
 
Mit einer Query sollte es auf jeden Fall gehen:
Delphi-Quellcode:
SQL := 'select db_id(''testversion'')';

adoConn := TADOConnection.Create(nil);
  try
    adoConn.ConnectionString := 'Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security ..';
      if (not adoConn.Connected) then
        adoConn.Open;

      adoQuery:=TADOQuery.Create(nil);
      adoQuery.Connection:=adoCon;
      adoQuery.SQL.Text:=SQL;
      adoQuery.Open;
     
      if (adoQuery.fields[0].isNull) then
        Prozessparameter_Stammdaten_loeschen(Sender);

      if (adoConn.Connected) then
        adoConn.Close;
     
      adoQuery.Free;
  finally
    FreeAndNil(adoConn);
  end;
end;

arcon 24. Jun 2010 14:07

AW: resultat der select anweisung an delphi-variable übergeben
 
funktioniert wunderbar! danke dir !

kurze frage noch ..
SQL-Code:
      adoQuery:=TADOQuery.Create(nil);
      adoQuery.Connection:=adoCon;
      adoQuery.SQL.Text:=SQL;
      adoQuery.Open;
     
      if (adoQuery.fields[0].isNOTNull) then
wenn ich die If-Anweisung auf "nicht null" hin überprüfen will, gibt mir der compiler eine fehlermeldung aus .. woran liegt das ?

Bbommel 24. Jun 2010 14:12

AW: resultat der select anweisung an delphi-variable übergeben
 
Zitat:

Zitat von arcon (Beitrag 1031312)
SQL-Code:
      if (adoQuery.fields[0].isNOTNull) then
wenn ich die If-Anweisung auf "nicht null" hin überprüfen will, gibt mir der compiler eine fehlermeldung aus .. woran liegt das ?

Das liegt daran, dass es die Methode "isNull" gibt, aber nicht "isNotNull". ;) Das musst du dann einfach so machen:
Delphi-Quellcode:
if not adoQuery.fields[0].isNull then


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:15 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