AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein SQLite3_prepare_v2 und "'Where'\" = Exception
Thema durchsuchen
Ansicht
Themen-Optionen

SQLite3_prepare_v2 und "'Where'\" = Exception

Ein Thema von Alter Mann · begonnen am 29. Jul 2010 · letzter Beitrag vom 30. Jul 2010
Antwort Antwort
Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
946 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

SQLite3_prepare_v2 und "'Where'\" = Exception

  Alt 29. Jul 2010, 11:26
Hallo,

ich speichere die Pfade von Dateien in einer SQLite3-DB, jedoch bekomme ich immer Exceptions, wenn
der Pfad so aussieht wie im Anhang(Spezial.txt).

Code:
C:\Programme\Microsoft Visual Studio 9.0\VB\Snippets\1031\data\LINQ Queries\Query - Filter with 'Where'\qFilt.snippet
SQLite_prepare_v2 wirft hier ein Exception wegen dem letzten '\'-Zeichen. Ein anfügen eines weiteren '\' = " ''Where''\\ " hilft da auch nicht.

Kennt jemmand die Lösung oder hat einen Tipp.

Danke
Angehängte Dateien
Dateityp: txt Spezial.txt (637 Bytes, 5x aufgerufen)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: SQLite3_prepare_v2 und "'Where'\" = Exception

  Alt 29. Jul 2010, 11:28
Was für Exceptions?
Werden die Pfad gequoted?
Markus Kinzler
  Mit Zitat antworten Zitat
Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
946 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: SQLite3_prepare_v2 und "'Where'\" = Exception

  Alt 29. Jul 2010, 13:47
Hallo,

Ich benutzen die 'DISQLite3'-Komponenten.
Beim einlesen eines dieser Pfadbezeichnungen kommt diese Exception:
Code:
...ESQLite3 mit der Meldung 'SQLite Error 1 - unrecognized token: ''\''...
Lass ich den letzten Backslash weg, kommt er mit einem Syntax-Fehler in der Nähe von ''Where''.

Viele Grüße
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: SQLite3_prepare_v2 und "'Where'\" = Exception

  Alt 29. Jul 2010, 13:49
Zeig uns doch mal die "Speichern"-Methode.
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
Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
946 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: SQLite3_prepare_v2 und "'Where'\" = Exception

  Alt 29. Jul 2010, 14:23
Hi,

siehe Anhang procedure TMainForm.LoadFile(aFileType : TFileType; aFileName : String); .
Angehängte Dateien
Dateityp: zip Test.zip (4,9 KB, 4x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: SQLite3_prepare_v2 und "'Where'\" = Exception

  Alt 29. Jul 2010, 15:17
Hast Du es mal in der Art
FS := AnsiQuotedStr(Copy(RS, POS(';', RS) + 1, Length(RS))); versucht?
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
madas

Registriert seit: 9. Aug 2007
207 Beiträge
 
#7

AW: SQLite3_prepare_v2 und "'Where'\" = Exception

  Alt 30. Jul 2010, 07:55
Versuche mal vor den beiden ' noch ein ' (Also ein doppeltes Hochkomma). Wichtig ist, das es kein Anführungszeichen ( " ) ist.

Den String über z.B. SQlite Analyzer in ein VarChar Feld eingefügt, funktioniert.

Haste Dir mal SQ vor dem Execute anzeigen lassen?

BTW: Deine Variablen haste ja ganz tolle Namen gegeben.

Delphi-Quellcode:
  FN : String;
  RS : String;
  FS : String;
  FE : String;
  FP : String;
  SQ : String;
Würde nicht zufällig im SQL String stehen, was damit gemeint wäre, müsste man schon sehr rumraten.

Geändert von madas (30. Jul 2010 um 08:11 Uhr)
  Mit Zitat antworten Zitat
Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
946 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

AW: SQLite3_prepare_v2 und "'Where'\" = Exception

  Alt 30. Jul 2010, 09:06
Moin, Moin

Das ganz ist ja auch nur eine Test-App um zu sehen was ich mit den Kompos machen kann.
Und die Variablennamen sind da eh nicht wichtig, aber mit ein wenig gespühr, kann man erkennen was gemeint ist; FP = FilePath usw.

So nun zum Thema:
Zitat:
Versuche mal vor den beiden ' noch ein ' (Also ein doppeltes Hochkomma). Wichtig ist, das es kein Anführungszeichen ( " ) ist.
Dafür gibt es ja die Funktion FixChar39, die genau das macht.

Zitat:
Den String über z.B. SQlite Analyzer in ein VarChar Feld eingefügt, funktioniert.
So sollte es ja auch sein.

Der Inhalt von SQ vor dem Execute16 steht im ersten Posting.

Wenn ich wie vorgeschlagen
Zitat:
FS := AnsiQuotedStr(Copy(RS, POS(';', RS) + 1, Length(RS)));
verwende, kommt es auch zu einer Exception SQLite Error 1 - near "C":syntax error.
Die ist ja auch nachvollziehbar da der String jetzt mit einem doppelten '' anfängt.

Ich vermute mal, das der Fehler im SQLite_prepare_v2 liegt.

Vielleicht hat ja hier jemand von der unit 'DISQLite3API' den Code und kann mal schauen
was da schief geht.

Viele Grüße
  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:40 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