![]() |
Datenbank: MSSql • Version: 2005 • Zugriff über: ADO
ADO Sql.LoadFromFile ungültige Zeichen
Hallo Zusammen!
Ich habe versucht eines meiner Projekte von Delphi 7 auf Delphi 2007 zu portieren. Die ADO Queries laden die Sql Statements zur Laufzeit aus verschiedenen Textdateien. Komischerweise bekomme ich nur Fragezeichen bzw ungültige Zeichen zurück. :wall: Kann mir irgendjemand sagen woran das liegen könnte? Delphi 2007 prof., Windows Vista, Textfile Codierung ansi |
Re: ADO Sql.LoadFromFile ungültige Zeichen
Herzlich willkommen in der Delphi-PRAXiS, Boppe.
Wie hast du sicher gestellt, dass die Textdateien wirklich ANSI-kodiert sind? Stimmen tatsächliche und erwartete Größe überein? Kannst du ein Beispiel hier anhängen? Freundliche Grüße vom marabu |
Re: ADO Sql.LoadFromFile ungültige Zeichen
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo marabu!
besten Dank für die prompte Antwort. Die Textdateien habe ich hatte ich unter UltraEdit als ANSI gespeichert - ergo gehe ich davon aus, dass das auch der Wahrheit entspricht :???: Anbei die Textdatei mit dem Statement. Nix weltbewegendes genau wie der Aufruf
Delphi-Quellcode:
Wenn ich mir vor dem open ShowMessage(Sql.Text); ausgeben lasse, erhalte ich nur Fragezeichen bzw. wenn ich den open ausführe die Fehlermeldung
....
QueryResetMessages:= TAdoQuery.Create(nil); with QueryResetMessages do begin Connection := DBSource; Sql.LoadFromFile(ExtractFilePath(Application.Exename)+'\SQL\MailGateway.MessageReset.SQL'); try ExecSql; except on e: EADOError do raise e.Create(e.Message); end; end; .... Zitat:
![]() |
Re: ADO Sql.LoadFromFile ungültige Zeichen
Fehler in der VCL.
Das Proprety Sql ist als TWideStrings definiert, aber die Klasse TWideStringList kann nur Unicode-Textdateien mit einer festen Byteorder laden. Hat da keiner nachgedacht das hier alle Varianten (ANSI/UTF8/UCS2 mit beiden Byteorders nötig wäre)? :gruebel: Nimm als Helfer eine TStringlist und lade dort die (ANSI)-Textdatei. Ich denke da ist ein QC-Report angesagt... |
Re: ADO Sql.LoadFromFile ungültige Zeichen
Hallo,
die angehängte Datei ist einwandfrei ANSI-kodiert. Da ich nicht mit der neuen Delphi-Version arbeite, hoffe ich, dass ein anderes DP-Mitglied etwas zu dem von dir vermuteten Bug schreiben kann. Meine Vermutung ist, dass ANSI-Code eingelesen und als UTF-16 interpretiert wird, allerdings ist 0x2073 kein Bestandteil deiner angehängten Datei (Leerstelle gefolgt von lowercase s). Freundliche Grüße |
Re: ADO Sql.LoadFromFile ungültige Zeichen
![]() Wenn ihr wollt könnt ihr ja Voten - Ist mein neuer nachdem der Orginal (25811) nicht mehr zu finden ist. |
Re: ADO Sql.LoadFromFile ungültige Zeichen
Hallo Bernhard,
müssten da nicht noch ältere Einträge sein? Der Fehler scheint mindestens ein Jahr älter zu sein, als der QC-Eintrag. ![]() Freundliche Grüße |
Re: ADO Sql.LoadFromFile ungültige Zeichen
Hallo Bernhard!
Vielen Dank für die schnelle Antwort und das Ticket. Da scheint wirklich irgendjemand gepennt zu haben. :wall: |
Re: ADO Sql.LoadFromFile ungültige Zeichen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz