Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL-Abfrage sagt ParameterName hat keinen Standardwert..!? (https://www.delphipraxis.net/107211-sql-abfrage-sagt-parametername-hat-keinen-standardwert.html)

torud 24. Jan 2008 07:57

Datenbank: Access • Zugriff über: MDAC, ADO

SQL-Abfrage sagt ParameterName hat keinen Standardwert..!?
 
Hallo Wissende,

folgende SQL-Abfrage bringt mit den anschliessenden Fehler.

Delphi-Quellcode:
with form1.Query2 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('Select Rank, Name, Nation, Points From players where gender='+QuotedStr('m') +' and Points<>'+QuotedStr(''));
    Open;
  end;
Meldung: 'ParameterName hat keinen Standardwert'.

Warum nur? Alle Felder existieren. Es kann aber sein, dass in Points nichts drin steht...Ich nehme an, dass dies der Grund ist. Da ich kein MS-Access habe, hatte ich mir damals die DB per Code erstellt...Nun weiss ich aber leider nicht, wie ich nachträglich das Feld Points in der DB mit einem Standardwert belegen kann!?

Bzw. frage ich mich, ob es vielleicht reichen würde, wenn ich einfach bei allen Einträgen das Feld Points befülle!??
Und ich wollte eigentlich der Abfrage noch ein Order by asc anhängen. Gibt es dazu noch was zu beachten? => Kann ja sein, dass ich damals das Feld als Textfeld erstellt habe und Order by ASC nicht bei solchen Feldern funktioniert...!?

mkinzler 24. Jan 2008 07:59

Re: SQL-Abfrage sagt ParameterName hat keinen Standardwert..
 
Was für ein Typ hat Points?

torud 24. Jan 2008 08:07

Re: SQL-Abfrage sagt ParameterName hat keinen Standardwert..
 
Das weiss ich eben nicht mehr...Ich suche gerade, wie das abfragen oder sonstwie herausbekommen kann.

//nachtrag:

Dieser Code gab mir zurück, dass es sich wohl um ftInteger handelt.

Delphi-Quellcode:
procedure TForm1.grd_playersCellClick(Column: TColumn);
begin
    case Column.Field.DataType of
      ftSmallint : ShowMessage('small int');
      ftInteger : ShowMessage('int');
      ftString  : ShowMessage('string');
      else ShowMessage('else');
    end;
end;

marabu 24. Jan 2008 08:52

Re: SQL-Abfrage sagt ParameterName hat keinen Standardwert..
 
Hallo Tom,

du solltest dir vielleicht mit einem Werkzeug eine Schemaübersicht deiner Datenbank besorgen.

z.B. ADO Explorer

Freundliche Grüße

torud 24. Jan 2008 09:55

Re: SQL-Abfrage sagt ParameterName hat keinen Standardwert..
 
Jo danke, ich habe es mir angesehen. Also um mal SQL zu testen ist es schon ok, aber ich konnte nix finden, wo man eventuell direkt und einfach den Datentypen ändern könnte, wie in MS_Access.

mikhal 24. Jan 2008 11:53

Re: SQL-Abfrage sagt ParameterName hat keinen Standardwert..
 
Setze mal das Feld "Name" in deinem Select-Statement in eckige Klammern, ADO wird sich wahrscheinlich an der reservierten Bezeichnung "NAME" stören und den Wert dazu suchen und nicht finden.

Grüße
Mikhal


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:07 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