AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein resultat der select anweisung an delphi-variable übergeben
Thema durchsuchen
Ansicht
Themen-Optionen

resultat der select anweisung an delphi-variable übergeben

Ein Thema von arcon · begonnen am 24. Jun 2010 · letzter Beitrag vom 24. Jun 2010
Antwort Antwort
arcon

Registriert seit: 8. Jun 2010
71 Beiträge
 
#1

resultat der select anweisung an delphi-variable übergeben

  Alt 24. Jun 2010, 13:16
hallo miteinander,

ich würde gerne mit der SQL-anweisung
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

Geändert von mkinzler (24. Jun 2010 um 13:33 Uhr) Grund: Code-Tag durch SQL-Tag ersetzt
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

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

  Alt 24. Jun 2010, 13:34
Sollte dann als erstes Feld der Ergebnismenge erscheinen. Welche Komponenten setzt du ein?
Markus Kinzler
  Mit Zitat antworten Zitat
arcon

Registriert seit: 8. Jun 2010
71 Beiträge
 
#3

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

  Alt 24. Jun 2010, 13:40
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;

Geändert von mkinzler (24. Jun 2010 um 13:42 Uhr) Grund: Code-Tag mit SQL-Tag ersetzt
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

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

  Alt 24. Jun 2010, 13:42
Was machst du in
      Prozessparameter_Stammdaten_loeschen() ?
Markus Kinzler
  Mit Zitat antworten Zitat
arcon

Registriert seit: 8. Jun 2010
71 Beiträge
 
#5

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

  Alt 24. Jun 2010, 13:45
in dieser prozedur lösch ich den inhalt der tedit-felder ..
also nichts weltbewegendes
  Mit Zitat antworten Zitat
arcon

Registriert seit: 8. Jun 2010
71 Beiträge
 
#6

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

  Alt 24. Jun 2010, 13:48
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.
  Mit Zitat antworten Zitat
Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
648 Beiträge
 
Delphi 12 Athens
 
#7

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

  Alt 24. Jun 2010, 13:55
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;

Geändert von Bbommel (24. Jun 2010 um 13:58 Uhr) Grund: aufräumen vergessen... :)
  Mit Zitat antworten Zitat
arcon

Registriert seit: 8. Jun 2010
71 Beiträge
 
#8

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

  Alt 24. Jun 2010, 14:07
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 ?

Geändert von mkinzler (24. Jun 2010 um 14:27 Uhr) Grund: Code-Tag durch SQL-Tag ersetzt
  Mit Zitat antworten Zitat
Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
648 Beiträge
 
Delphi 12 Athens
 
#9

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

  Alt 24. Jun 2010, 14:12
      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:
if not adoQuery.fields[0].isNull then

Geändert von mkinzler (24. Jun 2010 um 14:27 Uhr) Grund: Code-Tag durch SQL-Tag ersetzt
  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 09: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