AGB  ·  Datenschutz  ·  Impressum  







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

select anweisung

Ein Thema von stathis · begonnen am 13. Jan 2013 · letzter Beitrag vom 24. Nov 2013
Antwort Antwort
Seite 2 von 3     12 3      
Volker Z.

Registriert seit: 4. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#11

AW: select anweisung

  Alt 15. Jan 2013, 18:52
Hallo,

Zitat:
ich habe alles gemacht. Ich bekomme immer wieder das gleiche Fehler;
Welchen Fehler? DCU not found oder Field not found?

Gruß
Volker Zeller
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#12

AW: select anweisung

  Alt 15. Jan 2013, 19:17
versuchs mal so:
ADOQuery1.SQL.Text := 'SELECT user, sum(poso) as sum FROM history group by user';
Nein!!
"User" ist ein reserviertes Wort -> sollte nicht als Feldname verwendet werden, einfach ändern
sum(poso) as sum -> das geht auch nicht; sum ist eine SQL-Funktion, die man ebenfalls nicht als Feld- oder Aliasname verwenden sollte.

Selbst wenn die Datenbank die Abfrage akzeptieren sollte.
Leute geht auf Nummer Sicher; keine reservierten Bezeichner verwenden!!!

Hier noch ein kleines Negativbeispiel:
SELECT "by.select" AS as, SUM("by.from") AS max FROM "group" by GROUP BY "by.select"
  Mit Zitat antworten Zitat
stathis

Registriert seit: 18. Jul 2005
31 Beiträge
 
#13

AW: select anweisung

  Alt 16. Jan 2013, 10:11
Hallo,

Zitat:
ich habe alles gemacht. Ich bekomme immer wieder das gleiche Fehler;
Welchen Fehler? DCU not found oder Field not found?

Gruß
field not found!!!

Ist es Kommisc

Ist es Komisch oder_

Select user from …. Geht

Select Poso from … geht
Select user,poso from …. Field user ok - Field 'poso' not found
Select poso, user … field poso ok - field 'user' not found
Also immer das 2. field

Ich habe auch alle andere probiert statt user -> user_, abcuser ...

Kann sein das ich irgendwo in der Installation Fehler gemacht habe?
Seit 2 Monate Kämpfe ich mit dieses Fehler.

Ich danke Sehr

Stathis

Geändert von stathis (16. Jan 2013 um 10:23 Uhr)
  Mit Zitat antworten Zitat
stathis

Registriert seit: 18. Jul 2005
31 Beiträge
 
#14

AW: select anweisung

  Alt 16. Jan 2013, 10:14
versuchs mal so:
ADOQuery1.SQL.Text := 'SELECT user, sum(poso) as sum FROM history group by user';
Nein!!
"User" ist ein reserviertes Wort -> sollte nicht als Feldname verwendet werden, einfach ändern
sum(poso) as sum -> das geht auch nicht; sum ist eine SQL-Funktion, die man ebenfalls nicht als Feld- oder Aliasname verwenden sollte.

Selbst wenn die Datenbank die Abfrage akzeptieren sollte.
Leute geht auf Nummer Sicher; keine reservierten Bezeichner verwenden!!!

Hier noch ein kleines Negativbeispiel:
SELECT "by.select" AS as, SUM("by.from") AS max FROM "group" by GROUP BY "by.select"
mit ADO habe ich nict versucht. Koenne nicht aus.

koennen sie ein gutes Tutorial mit ADO und Mysql?
  Mit Zitat antworten Zitat
Jumpy

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

AW: select anweisung

  Alt 16. Jan 2013, 11:02
Hatte vor kurzem ein ähnliches Problem mit einem Feld das Start hieß. Datenbank war Oracle. Geklappt hat es dann mit:
'Select "Start" as Anfang From Tabellenname' Vielleicht bietet deine DB eine Vergleichbare Möglichkeit? In Access z.B. würde man dann [Start] nehmen.
Ralph
  Mit Zitat antworten Zitat
Volker Z.

Registriert seit: 4. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#16

AW: select anweisung

  Alt 16. Jan 2013, 14:14
Hallo,

wenn ich alles richtig verstanden habe, dann nutzt Du MySQL Version 5.1 oder höher und die dbxopenmysql Units. Zwischen MySQL 5.0 und 5.1 (bei späteren Versionen weiß ich es nicht) gibt es eine kleine Änderung in den Datentypen. Schau Dir mal die Definition von MYSQL_FIELD und MYSQL_RES in der Unit PlainMysql50 an. Stimmen diese mit der Dokumentation Deiner MySQL Version überein? Ich habe für MySQL 5.1 folgende Anpassungen gemacht:
Delphi-Quellcode:
  MYSQL_FIELD = packed record
    name: PChar;
    org_name: PChar;
    table: PChar;
    org_table: PChar;
    db: PChar;
    catalog:    PChar;
    def: PChar;
    length: LongInt;
    max_length: LongInt;
    name_length: Cardinal;
    org_name_length: Cardinal;
    table_length: Cardinal;
    org_table_length: Cardinal;
    db_length: Cardinal;
    catalog_length: Cardinal;
    def_length: Cardinal;
    flags: Cardinal;
    decimals: Cardinal;
    charsetnr: Cardinal;
    _type: Cardinal;
    extention: Pointer; // <-- Gab es in Version 5.0 noch nicht
  end;

  MYSQL_RES = packed record
    row_count: Int64;
    fields: PMYSQL_FIELD;
    data: PMYSQL_DATA;
    data_cursor: PMYSQL_ROWS;
    lengths: PLongInt;
    handle: PMYSQL;
    field_alloc: MEM_ROOT;
    field_count: Integer;
    current_field: Integer;
    row: PMYSQL_ROW;
    current_row: PMYSQL_ROW;
    eof: Byte;
    unbuffered_fetch_cancelled: Byte;
    methods: PMYSQL_METHODS;
    extention: Pointer; // <-- Gab es in Version 5.0 noch nicht
  end;
Anschließend das Projekt neu erzeugt (Umsch+F9). Seither funktioniert es mit 5.1 (höhere Versionen habe ich noch nicht getestet).

Gruß
Volker Zeller
  Mit Zitat antworten Zitat
stathis

Registriert seit: 18. Jul 2005
31 Beiträge
 
#17

AW: select anweisung

  Alt 16. Jan 2013, 22:41
Hallo,

wenn ich alles richtig verstanden habe, dann nutzt Du MySQL Version 5.1 oder höher und die dbxopenmysql Units. Zwischen MySQL 5.0 und 5.1 (bei späteren Versionen weiß ich es nicht) gibt es eine kleine Änderung in den Datentypen. Schau Dir mal die Definition von MYSQL_FIELD und MYSQL_RES in der Unit PlainMysql50 an. Stimmen diese mit der Dokumentation Deiner MySQL Version überein? Ich habe für MySQL 5.1 folgende Anpassungen gemacht:
Delphi-Quellcode:
  MYSQL_FIELD = packed record
    name: PChar;
    org_name: PChar;
    table: PChar;
    org_table: PChar;
    db: PChar;
    catalog:    PChar;
    def: PChar;
    length: LongInt;
    max_length: LongInt;
    name_length: Cardinal;
    org_name_length: Cardinal;
    table_length: Cardinal;
    org_table_length: Cardinal;
    db_length: Cardinal;
    catalog_length: Cardinal;
    def_length: Cardinal;
    flags: Cardinal;
    decimals: Cardinal;
    charsetnr: Cardinal;
    _type: Cardinal;
    extention: Pointer; // <-- Gab es in Version 5.0 noch nicht
  end;

  MYSQL_RES = packed record
    row_count: Int64;
    fields: PMYSQL_FIELD;
    data: PMYSQL_DATA;
    data_cursor: PMYSQL_ROWS;
    lengths: PLongInt;
    handle: PMYSQL;
    field_alloc: MEM_ROOT;
    field_count: Integer;
    current_field: Integer;
    row: PMYSQL_ROW;
    current_row: PMYSQL_ROW;
    eof: Byte;
    unbuffered_fetch_cancelled: Byte;
    methods: PMYSQL_METHODS;
    extention: Pointer; // <-- Gab es in Version 5.0 noch nicht
  end;
Anschließend das Projekt neu erzeugt (Umsch+F9). Seither funktioniert es mit 5.1 (höhere Versionen habe ich noch nicht getestet).

Gruß
Das wars Dankeeeeeeeeeeeeeeeeeeeeeeeeeeee
  Mit Zitat antworten Zitat
Volker Z.

Registriert seit: 4. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#18

AW: select anweisung

  Alt 16. Jan 2013, 22:47
Hallo,

gerne

Gruß
Volker Zeller
  Mit Zitat antworten Zitat
stathis

Registriert seit: 18. Jul 2005
31 Beiträge
 
#19

AW: select anweisung

  Alt 23. Nov 2013, 22:34
hallo wieder,
die firma, wo ich meine homepage habe, hat eine update zu mysql 5.5. gemacht, und mein programm funktioniert nicht mehr.
Koennst du vieleicht was fuer aenderungen machen muss?
ich danke dir
Stathis
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#20

AW: select anweisung

  Alt 23. Nov 2013, 23:52
Mit Sicherheit wäre es äußerst hilfreich, statt "programm funktioniert nicht mehr" zu beschreiben, welche Fehler auftreten, am besten mit aussagekräftigem Fehlertext.

Des weiteren könntest du dir die Änderungen, die von der vorherigen zur jetzigen Version gemacht wurden, direkt auf der MySQL-Homepage anschauen.

In English:

It would be helpful du tell the whole error message instead of saying "program is not working any more".

Further you could try to find out changes from previous version to current version by visiting MySQL Homepage.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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