AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ADODataSet /ADOCmd und Parameter
Thema durchsuchen
Ansicht
Themen-Optionen

ADODataSet /ADOCmd und Parameter

Ein Thema von Alter Mann · begonnen am 30. Apr 2008 · letzter Beitrag vom 1. Mai 2008
Antwort Antwort
Alter Mann

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

ADODataSet /ADOCmd und Parameter

  Alt 30. Apr 2008, 18:41
Datenbank: z.Z MS-Access • Version: 2003 • Zugriff über: ADO (D7)
Hi

ich habe ein ADODataSet mit folgenden CommandText:
'SELECT Folder, Thumb, Name FROM Images WHERE (Folder =@IDFolder)' In den Parameters ist IDFolder eingetragen.

Obwohl ich mit
ADODataSet.Parameters[0].Value := IDF; den Wert übergebe, kommem statt ein Datensatz alle 5307, ganz so als wäre IDFolder nicht vorhanden bzw kein Wert zugewiesen worden.

Gleiches Spiel, andere Komponente ADOCommand.CommandText:
  ADOCmd.CommandText := 'SELECT Folder, Thumb, Name FROM Images WHERE (Folder =' + IntToStr(ADODSPaint.FieldByName('Folder').AsInteger) + ')'; Hier lautet die Meldung: 'Parameter Folder hat keinen Standardwert'.

Woran könnte es liegen bzw. liegt es?

Gruß
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: ADODataSet /ADOCmd und Parameter

  Alt 30. Apr 2008, 18:57
Hallo,

den Parameter hast wohl du selbst angelegt? Tue es nicht - ParamCheck auf True setzen und Parameter durch das Metazeichen Colon (:) kennzeichnen:

SELECT Folder, Thumb, [Name] FROM Images WHERE Folder = :IDFolder NAME ist bestimmt ein reserved word und muss bei Access eventuell in eckige Klammern eingeschlossen werden.

Bei deinem zweiten Versuch ist der manuell angelegte Parameter noch vorhanden, aber nicht von dir belegt worden.

Freundliche Grüße
  Mit Zitat antworten Zitat
Alter Mann

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

Re: ADODataSet /ADOCmd und Parameter

  Alt 1. Mai 2008, 11:48
Erst einmal Danke.

Daran liegt es nicht. Und [Name] ist klar(stellt hier nur eine Verkürzung da).

Der Parameter wird angelegt, sobald der SQL-String im OI zugewiesen wurde
und auch ParamCheck ist True.

Scheinbar wird der Wert nicht gesetzt. Egal ob ich per Hand im OI den Wert
setze, oder im Code, die Meldung: 'Für mindestens einen erforderlichen Parameter wurde kein Wert angegeben'
kommt immer.
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: ADODataSet /ADOCmd und Parameter

  Alt 1. Mai 2008, 11:59
Eine Sache noch: Es ist sinnvoll, den Datentyp des Parameters einzustellen. Dann solltest du nicht per Index darauf zugreifen, sondern über den Namen, also so:
ADODataSet.Parameters.ParamValues['MyParameter'] := SomeValue;
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  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 20:52 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