AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi TableNames und die Zugriffsverletzung
Thema durchsuchen
Ansicht
Themen-Optionen

TableNames und die Zugriffsverletzung

Ein Thema von Delbor · begonnen am 16. Mär 2017 · letzter Beitrag vom 17. Mär 2017
Antwort Antwort
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.192 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: TableNames und die Zugriffsverletzung

  Alt 16. Mär 2017, 17:16
Hi hoika

Erstmal vielenDank für deine Antwort!
Zitat:
Was mich wundert, ist deine unterschiedliche Herangehensweise bei den SQL-Abfragen.
Das ist relativ einfach: Der Code entstand vor etlicher Zeit unter DelphiXE4 und DBExpress.

Delphi-Quellcode:
Delphi-Quellcode:
 
SqlString := 'SHOW TABLES';
FDQueryMain.Open(SqlString);
.....
Delphi-Quellcode:
 
SQLString := 'SELECT Kath_ID as Kath_ID, Kategorie as Kategorie FROM kategorien_tabelle';
FDQueryMain.SQL.Text := SQLString;
FDQueryMain.Open;
Du meinst damit, ich soll bei der unteren open-Anweisung den SQLString auch als Parameter anhängen? Hab ich soeben getan - mit dem selben Ergebnis. Ausserdem nachfolgend eine Prozedur, die genau das tut, was ich von ihr will - auch ohne jeden open-Parameter;

Delphi-Quellcode:
function TFDMySQLDml.GetMaxAllowedPacket : integer;
  var SQLString: AnsiString;
begin
  SqlString := 'SELECT Variable_Value FROM performance_schema.SESSION_VARIABLES WHERE VARIABLE_NAME = ''MAX_ALLOWED_PACKET''';
  FDMySQLQueryInfo.SQL.Text := SqlString;
  FDMySQLQueryInfo.Open; // Läuft Problemlos ab.
  if not FDMySQLQueryInfo.IsEmpty then
  begin
    Result := FDMySQLQueryInfo.Fields.Fields[0].AsInteger;
    FMaxAllowedPacket := Result;
  end;
  FDMySQLQueryInfo.Close;
end;
Zitat:
verstehe ich nicht, was soll das As hier bringen?
Das soll sicherstellen, das das Feld im Query dann auch genauso heisst. Ist nicht auf meinemMist gewachsen. Und wenn ich mich richtig erinnnere, wird dies auch von MySQL selbst, aber zumindest von Buchautoren, so empfohlen.

Zitat:
Ausserdem ist es nicht Utf8String, sondern nur string.
Das ist - oder war - unter DXE4/DBExpress/der damaligen MySQL-Installation/Konfiguration des Servers/der Verbindung wegen. Das könnte der Haken an der Sache sein.

Gruss
Delbor

PS:
Zitat:
Vielleicht ist das aber das gleiche (?).
Nein. Der Delphi-Datentyp String ist unter DXE8 (und IMHO seit Delphi9/10) ein Unicode-String. Ich weiss aber gerade nicht, ob das Problematisch ist/sein kann.
Unicode => UTF8 : wahrscheinlich schon, umgekehrt aber wohl nicht.
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch

Geändert von Delbor (16. Mär 2017 um 17:22 Uhr)
  Mit Zitat antworten Zitat
hoika

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

AW: TableNames und die Zugriffsverletzung

  Alt 16. Mär 2017, 19:38
Hallo,

Unicode = UTF16, nicht UTF8
Heiko
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.192 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: TableNames und die Zugriffsverletzung

  Alt 16. Mär 2017, 20:10
Hi hoika

Zitat:
Unicode = UTF16, nicht UTF8
Deshalb hab ich ja vermutet:
Zitat:
Unicode => UTF8 : wahrscheinlich schon, umgekehrt aber wohl nicht.
Muss aber nicht sein. Zumindest hab ich die entsprechende Deklaration mal in 'normalen' String abgeändert - mit dem selben Ergebnis.

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  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 02:11 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