AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

IBExpert: Zeilenumbruch in String

Ein Thema von NadineOnline · begonnen am 24. Feb 2016 · letzter Beitrag vom 24. Feb 2016
Antwort Antwort
Seite 2 von 2     12   
nahpets
(Gast)

n/a Beiträge
 
#11

AW: IBExpert: Zeilenumbruch in String

  Alt 24. Feb 2016, 15:18
How to add a newline (CRLF) to the string from SQL?

http://www.firebirdfaq.org/faq132/
Funktioniert, soweit ich das mitbekommen habe, aber nur in Funktionen/Prozeduren und nicht in reinem SQL.

select Spalte1||ASCII_CHAR(13)||ASCII_CHAR(10)||Spalte2 from tabelle; geht nicht.
Code:
---------------------------
Fehler
---------------------------
[ODBC Firebird Driver][Firebird]Dynamic SQL Error
SQL error code = -804
Function unknown
ASCII_CHAR

select Spalte1||ASCII_CHAR(13)||ASCII_CHAR(10)||Spalte2 from tabelle;
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#12

AW: IBExpert: Zeilenumbruch in String

  Alt 24. Feb 2016, 15:52
Code:
Select 'Hallo'||ASCII_CHAR(13)||ASCII_CHAR(10)||'Welt' from rdb$database
funzt wunderbar. IBExpert kann das halt nur nicht darstellen. Kopier den ZHellenwert raus und füg den in Notepad und co ein und schon klappt es...


Äh.... Moment...

Zitat:
[ODBC Firebird Driver][Firebird]Dynamic SQL Error
habe ich das irgend wo überlesen? Wo kommt auf einmal der ODBC Treiber her? Dein SQL oben funktioniert wenn ich die Spalten/Tabellennamen anpasse ohne Probleme...

Geändert von Lemmy (24. Feb 2016 um 15:55 Uhr)
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#13

AW: IBExpert: Zeilenumbruch in String

  Alt 24. Feb 2016, 16:31
@Lemmy
Na, wenn's mal klappt und mal nicht, dann kommt es wohl nicht nur auf die Datenbank an, sondern auch noch auf den Weg, über den man auf die Datenbank zugreift.

Habe das SQL halt mit 'nem Programm getestet, das über ADO auf alle Datenbanken zugreifen kann, für die es eine passende Schnittstelle (ODBC-Treiber...) gibt.

War halt der (irrigen?) Annahme, das SQL eben SQL ist und ein SQL-Statement entweder immer funktioniert oder eben auch nicht, unabhängig davon, über welchen Weg man es an die Datenbank schickt.

Bekomme für Dein Statement diese Meldung:
Code:
[ODBC Firebird Driver][Firebird]Dynamic SQL Error
SQL error code = -804
Function unknown
ASCII_CHAR

Select 'Hallo'||ASCII_CHAR(13)||ASCII_CHAR(10)||'Welt' from rdb$database
Rufe ich das Statement über FlameRobin direkt auf der Datenbank auf, dann gibt es diese Meldung:
Code:
Starting transaction...
Preparing query: Select 'Hallo'||ASCII_CHAR(13)||ASCII_CHAR(10)||'Welt' from rdb$database

Error: *** IBPP::SQLException ***
Context: Statement::Prepare( Select 'Hallo'||ASCII_CHAR(13)||ASCII_CHAR(10)||'Welt' from rdb$database
 )
Message: isc_dsql_prepare failed

SQL Message : -804
An error was found in the application program input parameters for the SQL statement.

Engine Code   : 335544569
Engine Message :
Dynamic SQL Error
SQL error code = -804
Function unknown
ASCII_CHAR


Total execution time: 0.125s
FireBird-Version:
Code:
This product created by the Firebird - All Copyright (c) retained by the individual contributors - original code Copyright (c) 2000 Inprise Corporation and predecessors.

FirebirdSQL Project
Firebird SQL Server
FileVersion WI-V2.0.0.12748
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

AW: IBExpert: Zeilenumbruch in String

  Alt 24. Feb 2016, 17:03
Na die Aussage ist ja eindeutig
"Function unknown ASCII_CHAR"

Entweder fehlt Dir der Richtige Bezug System.ASCII_CHAR oder was auch immer notwendig ist, oder die Funktion gibt es schlicht und einfach nicht. Oder hat sie bei dir einen anderen Namen? CHR() z.B.?

Zitat:
War halt der (irrigen?) Annahme, das SQL eben SQL ist und ein SQL-Statement entweder immer funktioniert oder eben auch nicht, unabhängig davon, über welchen Weg man es an die Datenbank schickt.
Zunächst einmal hat jede Datenbank-Version eine eigene Vorstellung davon was (richtiges)SQL ist und wenn Du als Oberfläche einen Interpreter hast, ist es auch etwas anderes wenn Du direkt per TQuery.SQL.Text Deine Abfrage losschickst.

(versuch mal
Code:
select * from <TabName> where <Name>='Firma & Co. AG'
Da gibt es die eine oder andere Oberfläche, die & als Einleitung für einen zu übergebenden Parameter versteht)


Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#15

AW: IBExpert: Zeilenumbruch in String

  Alt 24. Feb 2016, 17:10
@Lemmy
Na, wenn's mal klappt und mal nicht, dann kommt es wohl nicht nur auf die Datenbank an, sondern auch noch auf den Weg, über den man auf die Datenbank zugreift.
oder an was anderem

FirebirdSQL Project
Firebird SQL Server
FileVersion WI-V2.0.0.12748[/CODE]
http://www.firebirdsql.org/refdocs/l...scii_char.html

der Link wurde schon weiter oben gepostet: ASCII_CHAR funzt erst am Firebird 2.1, sprich den gibt es bei dir wirklich nicht.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#16

AW: IBExpert: Zeilenumbruch in String

  Alt 24. Feb 2016, 17:27
Na die Aussage ist ja eindeutig
"Function unknown ASCII_CHAR"

Entweder fehlt Dir der Richtige Bezug System.ASCII_CHAR oder was auch immer notwendig ist, oder die Funktion gibt es schlicht und einfach nicht. Oder hat sie bei dir einen anderen Namen? CHR() z.B.?
Gibt's wirklich nicht, hab' 'ne zu alte FireBird-Version.

Zitat:
War halt der (irrigen?) Annahme, das SQL eben SQL ist und ein SQL-Statement entweder immer funktioniert oder eben auch nicht, unabhängig davon, über welchen Weg man es an die Datenbank schickt.
Zunächst einmal hat jede Datenbank-Version eine eigene Vorstellung davon was (richtiges)SQL ist und wenn Du als Oberfläche einen Interpreter hast, ist es auch etwas anderes wenn Du direkt per TQuery.SQL.Text Deine Abfrage losschickst.

(versuch mal
Code:
select * from <TabName> where <Name>='Firma & Co. AG'
Da gibt es die eine oder andere Oberfläche, die & als Einleitung für einen zu übergebenden Parameter versteht)


Gruß
K-H
Schon klar, das SQL nicht zwingend = SQL ist, jede Datenbank hat da so ihre eigenen "Schmankerl", die von Version zu Version auch nicht zwingend gleich bleiben

Meine Oberfläche ist kein Interpreter. Eingegebene SQL-Statements werden 1:1 an TAdoQuery.SQL.Text weitergegeben.

@Lemmy
Bei der Version hätte ich ja ruhig selber mal ein bisserl genauer hinschauen können
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#17

AW: IBExpert: Zeilenumbruch in String

  Alt 24. Feb 2016, 17:32
@Lemmy
Bei der Version hätte ich ja ruhig selber mal ein bisserl genauer hinschauen können
oder sie früher angeben

Schau mal ob in den gängigen UDFs was vergleichbares drin steckt. Und solltest Du dir überlegen auf die 2.1 oder neuer zu wechseln, schau dir bitte vorher die Hinweise zum Umstieg an. Normal ist der Umstieg einfach, aber gerade von 2.0 auf was neueres gibt es ein paar wichtige Dinge zu beachten...
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#18

AW: IBExpert: Zeilenumbruch in String

  Alt 24. Feb 2016, 17:50
Wenn ich den SQL-String doch in Delphi zusammenbaue, kann ich doch das Problem umgehen ob die CHR() Funktion in der einen DB CHR() in der anderen CHAR() oder ASCII_CHAR() heißt, oder hab ich das Problem falsch verstanden?
Ralph
  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 18:33 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