AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi NexusDB Select eines Strings geht nicht
Thema durchsuchen
Ansicht
Themen-Optionen

NexusDB Select eines Strings geht nicht

Ein Thema von Roadrunner.1 · begonnen am 11. Mai 2009 · letzter Beitrag vom 12. Mai 2009
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von DeddyH
DeddyH

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

Re: NexusDB Select eines Strings geht nicht

  Alt 11. Mai 2009, 13:41
Bekommst Du denn so ein Ergebnis?SELECT * FROM TREIHE Where Reihe LIKE '%Classic%'
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
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#12

Re: NexusDB Select eines Strings geht nicht

  Alt 11. Mai 2009, 14:34
Hallo,

oder so ?

SELECT * FROM TREIHE Where Reihe = "Classic"
Heiko
Heiko
  Mit Zitat antworten Zitat
Trigger2003

Registriert seit: 14. Jun 2006
36 Beiträge
 
Delphi 12 Athens
 
#13

Re: NexusDB Select eines Strings geht nicht

  Alt 12. Mai 2009, 04:01
oder mal sicherheitshalber so?

SELECT * FROM treihe WHERE TRIM(reihe) = 'Classic' funktioniert bei mir einwandfrei im Nexus EnterpriseManager, allerdings mit Remote-Server

NexusDB unterstützt übrigens keine doublequotes bei Feldwerten, nur bei Feldnamen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: NexusDB Select eines Strings geht nicht

  Alt 12. Mai 2009, 06:28
Zitat:
NexusDB unterstützt übrigens keine doublequotes bei Feldwerten, nur bei Feldnamen
Wie die meisten DBMS
Markus Kinzler
  Mit Zitat antworten Zitat
Roadrunner.1

Registriert seit: 3. Mai 2009
20 Beiträge
 
Delphi 10.3 Rio
 
#15

Re: NexusDB Select eines Strings geht nicht

  Alt 12. Mai 2009, 11:09
Hallo Zusammen,

PROBLEM GELÖST

Allerdings weiß ich noch nicht so genau warum, aber das ist erstmal zweitrangig.

Wie ich weiter oben schon schrieb, fügte ich die Datensätze mit folgendem Code hinzu:

Delphi-Quellcode:
SQL.Clear;
SQL.Add('INSERT INTO TREIHE ');
SQL.Add('(REIHE)');
SQL.Add('VALUES (''');
SQL.Add(_s);
SQL.Add(''');');
ExecSQL;
Dies führt wohl zu irgendwelchen nicht sichtbaren Zeichen in der Datenbank. Setz ich den
VALUES Teil des Strings in einer einzigen Zeile zusammen funktioniert nämlich auch der SELECT.

Delphi-Quellcode:
SQL.Clear;
SQL.Add('INSERT INTO TREIHE ');
SQL.Add('(REIHE)');
SQL.Add('VALUES ('''+_s+''');');
Ich dachte es wäre egal was ich in die Stringliste schreibe, Hauptsache alles in Reihe gelesen macht
Sinn. Dies scheint aber nicht der Fall zu sein. OK, ich lern ja noch damit umzugehen und werde
zukünftig zusammenhängende Befehlsteile auch zusammen in nur einen String schreiben.

Danke nochmal an alle für die Tipps.
Christian Drenkard
--
mfg.
Christian Drenkard
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: NexusDB Select eines Strings geht nicht

  Alt 12. Mai 2009, 11:12
Sofern die verwendeten Komponenten das unterstützen, solltest Du das SQL sowieso parametrisieren.
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
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#17

Re: NexusDB Select eines Strings geht nicht

  Alt 12. Mai 2009, 11:15
Hallo,

genau wegen sowas benutzt man Parameter.

Delphi-Quellcode:
SQL.Clear;
SQL.Add('INSERT INTO TREIHE ');
SQL.Add('(REIHE)');
SQL.Add('VALUES (:Reihe)');
ParamByName('Reihe').AsString:= _s;
ExecSQL;
oder QuotedStr

Delphi-Quellcode:
SQL.Clear;
SQL.Add('INSERT INTO TREIHE ');
SQL.Add('(REIHE)');
SQL.Add('VALUES ('+QuotedStr(_s)+')');
ExecSQL;
Parameter sind aber schöner, gerade wenn es um Datumsangaben geht.
Warum dann 2 Sachen (Parameter/QuotedStr) mischen.


Heiko

Heiko
Heiko
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#18

Re: NexusDB Select eines Strings geht nicht

  Alt 12. Mai 2009, 11:32
Hallo,
Zitat von Roadrunner.1:
Delphi-Quellcode:
SQL.Clear;
SQL.Add('INSERT INTO TREIHE ');
SQL.Add('(REIHE)');
SQL.Add('VALUES (''');
SQL.Add(_s);
SQL.Add(''');');
ExecSQL;
damit hast Du "Zeilenvorschub + Classic + Zeilenvorschub" in die Datenbank geschrieben. Alles zwischen den beiden ' wird in die Datenbank eingefügt und wenn in der Stringliste (SQL) per Add dazwischen Zeilen eingefügt werden, so landen auch die entsprechenden Zeilenumbrüche in der Datenbank.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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:49 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