AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi OpenParamQuery benutzen
Thema durchsuchen
Ansicht
Themen-Optionen

OpenParamQuery benutzen

Ein Thema von Luca Haas · begonnen am 13. Okt 2017 · letzter Beitrag vom 13. Okt 2017
Antwort Antwort
Luca Haas

Registriert seit: 23. Aug 2017
Ort: Bad Breisig
139 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

OpenParamQuery benutzen

  Alt 13. Okt 2017, 10:16
Datenbank: MSSQL • Version: ? • Zugriff über: TADO Query
Hi Leute,
hab mal eine Frage, bin aktuell dabei einen OpenParamQuery Befehl zu nutzen, weiß aber nicht 100%ig was wo rein muss.
Und zwar habe ich das so in einem älteren Programm von mir gefunden und bin mir nicht mehr sicher was ich für die "??" einsetzen muss.

Query1 := OpenParamQuerySQL(Query2, 'SELECT * FROM Table1 WHERE LfdNr := :LfdNr', ['LfdNr'], [??], Connection1, (true));
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: OpenParamQuery benutzen

  Alt 13. Okt 2017, 10:24
Die Funktion hast du oder jemand anderes der mit dir arbeitet geschrieben.
Da kann dir hier keiner eine Antwort geben.

Wobei ich schätze dass es ein Array mit den Parameter-Werten sein soll.
Aber ich würde einfach ganz normal eine Query mit der SQL erstellen, Parameter setzen und öffnen.

Ist deutlich übersichtlicher als dieses Monster.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Luca Haas

Registriert seit: 23. Aug 2017
Ort: Bad Breisig
139 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#3

AW: OpenParamQuery benutzen

  Alt 13. Okt 2017, 10:31
Ja das Problem ist, dass das Programm etwas umständlicher ist und ich das mit einer normalen Query nicht hinbekomme, aber dann frage ich meinen Kollegen mal, ob er mir das nochmal erklären kann.
Aber trotzdem danke.

Geändert von Luca Haas (13. Okt 2017 um 10:36 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: OpenParamQuery benutzen

  Alt 13. Okt 2017, 10:43
Das hat nix mit nem umständlichen Programm zu tun.
OpenParamQuerySQL(Query2, 'SELECT * FROM Table1 WHERE LfdNr := :LfdNr', ['LfdNr'], [??], Connection1, (true)); =
Delphi-Quellcode:
var query: TQuery; // Oder welche Komponente von welchem Hersteller auch genutzt werden soll
begin
  query := TQuery.Create(Connection1);
  try
    query.RequestLive := true; // Spekulation.
    query.SQL.Text := 'SELECT * FROM Table1 WHERE LfdNr := :LfdNr';
    query.ParamByName('LfdNr').AsInteger := ??;
    query.Open();
      // Mach was mit den Daten (while not query.Eof do begin Bla = query.FieldByName('FELD').AsString/AsInteger/...)
    query.Close();
  finally
    query.Free;
  end;
end;
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."

Geändert von Neutral General (13. Okt 2017 um 10:46 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

AW: OpenParamQuery benutzen

  Alt 13. Okt 2017, 11:50
@Luca Haas
Es wäre u.U sinnvoll, wenn Du den Source dieser OpenParamQuerySQL posten würdest. z.Zt. können wir hier nur spekulieren was da stattfindet. Neutral General hat wohl seine Kugel gerade geputzt

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Luca Haas

Registriert seit: 23. Aug 2017
Ort: Bad Breisig
139 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#6

AW: OpenParamQuery benutzen

  Alt 13. Okt 2017, 15:11
Tut mir Lied, das länger keine Info´s von mir kame, mit wurde gesagt, dass ich das OpenParamQuery noch gar nicht benutzen soll .
Stattdessen habe ich das hier benutzt:
Delphi-Quellcode:
begin
  Query.Close();
  Query.SQL.Text := 'SELECT MAX(ID) AS nextNr FROM TableWHERE LfdNr = :LfdNr';
  Query.Paramcheck := true;
  Query.Parameters.ParamByName('LfdNr').DataType := ftInteger;
  Query.Parameters.ParamByName('LfdNr').Value := LfdNr;
  Query.Open();
  result := Query.FieldByName('nextNr').AsInteger + 1;
end;

es kamen noch 1-2 Sachen dazu, weswegen es evtl nicht ganz die selbe Funktion hat wie sie es heute morgen noch hatte.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: OpenParamQuery benutzen

  Alt 13. Okt 2017, 16:46
Delphi-Quellcode:
  
  //Das hier ist nur einmal nötig
  //Query.Close; ist nicht nötig
  Query.Paramcheck := true; //besser vor der Zuweisung der Abfrage, dass diese Einstellung auch wirkt
  Query.SQL.Text := 'SELECT MAX(ID) AS nextNr FROM TableWHERE LfdNr = :LfdNr';
  Query.Parameters.ParamByName('LfdNr').DataType := ftInteger;
  
  //Später nur noch dies
  Query.Parameters.ParamByName('LfdNr').Value := LfdNr;
  Query.Open;
  result := Query.FieldByName('nextNr').AsInteger + 1;
Markus Kinzler
  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 04:53 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