AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Einträge aus Datenbank an Variable übergeben
Thema durchsuchen
Ansicht
Themen-Optionen

Einträge aus Datenbank an Variable übergeben

Ein Thema von t0mmy · begonnen am 11. Apr 2011 · letzter Beitrag vom 14. Apr 2011
Antwort Antwort
Seite 1 von 2  1 2      
t0mmy

Registriert seit: 28. Jul 2010
431 Beiträge
 
Delphi 2010 Architect
 
#1

Einträge aus Datenbank an Variable übergeben

  Alt 11. Apr 2011, 15:53
Datenbank: MsSQL • Version: 2005 • Zugriff über: ADO
Hallo!

Ich habe folgendes Problem und zwar trage ich Werte von 4 Editfeldern mittels Button der folgenden Code enthält:
Delphi-Quellcode:
ADOConnection1.ConnectionString:=
      xxxx

    ADOConnection1.Open;

    Try
      //ADOQuery1.Active := True;
      ADOQuery1.SQL.Text := 'INSERT INTO IDAUFTRAG (Pfad, Auftragsnummer) VALUES ('#39''+edit_setpfad.Text+''#39','#39''+edit_anumber.Text+''#39')';
      ADOQuery1.Open;

    except
       on E : Exception do
       begin
           MessageDlg('Eingetragen!', mtInformation, [mbOK], 0);
       end;
    end;

      ADOQuery1.Close;
      ADOConnection1.Close;

      edit_setpfad.Text := '';
      edit_anumber.Text := '';
Jetzt habe ich einen Lesen Button und er soll dann nach dem was in edit_anumber.Text drinnen steht filtern und mir dann edit_setpfad.Text befüllen.

Geändert von t0mmy (11. Apr 2011 um 16:10 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Einträge aus Datenbank an Variable übergeben

  Alt 11. Apr 2011, 15:58
Zunächst einmal solltest Du Deine Statements parametrisieren und beim Eintragen/Ändern von Daten ExecSQL statt Open verwenden. Und was ist das Problem? Eine weitere Query mit einer entsprechend parametrisierten SQL-Abfrage, Parameter setzen, öffnen (diesmal mit Open *g*), auslesen und ermittelten Wert dem Edit.Text zuweisen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#3

AW: Einträge aus Datenbank an Variable übergeben

  Alt 11. Apr 2011, 16:07
Das parametrisieren ist wichtig, sonst ist eine Anwendung anfällig für SQL-Injections!

Sicherheitslücke!
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
t0mmy

Registriert seit: 28. Jul 2010
431 Beiträge
 
Delphi 2010 Architect
 
#4

AW: Einträge aus Datenbank an Variable übergeben

  Alt 11. Apr 2011, 16:26
Das Problem is, das ich nicht weiss was ich ADOQuery1.SQL.Text übergeben muss damit ich das filtern kann was ich suche.. und dann die übergabe mache.

Sry.. ich bin ein Anfänger in diese Gebiet.. was meint ihr mit parametrisieren..

mfg
  Mit Zitat antworten Zitat
schlecki

Registriert seit: 11. Apr 2005
Ort: Darmstadt
148 Beiträge
 
Delphi XE2 Enterprise
 
#5

AW: Einträge aus Datenbank an Variable übergeben

  Alt 11. Apr 2011, 16:50
so kannst du deine Query parametrisieren...

Code:
ADOQuery1.SQL.Text := 'INSERT INTO IDAUFTRAG (Pfad, Auftragsnummer) VALUES (:pfad, :nummer)';
ADOQuery1.ParamByName('pfad').AsString := deinpfad
ADOQuery1.ParamByName('nummer').AsInteger := 1
ADOQuery1.Execute // oder .ExecSQL;
und so bekommst du deine Daten wieder raus:
Code:
ADOQuery1.SQL.Text := 'select * from IDAUFTRAG where PFAD = :PFAD'; // oder Suche mit PFAD like :PFAD
ADOquery1.ParamByName('PFAD').AsString := DeinSuchPfad;
ADOQuery1.Open;

if ADOQuery1.Eof then
begin
  // nichts gefunden
end
else
begin
  // wir haben's
end;

Geändert von schlecki (11. Apr 2011 um 17:00 Uhr)
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#6

AW: Einträge aus Datenbank an Variable übergeben

  Alt 11. Apr 2011, 17:21
Bei den ADO-Komponenten sieht das Befüllen der Parameter geringfügig anderst aus:
Delphi-Quellcode:
ADOQuery1.SQL.Text := 'select * from IDAUFTRAG where PFAD = :PFAD'; // oder Suche mit PFAD like :PFAD
ADOquery1.Parameters.ParamValues['PFAD'] := DeinSuchPfad;
ADOQuery1.Open;
Im Gegensatz zu TQuery besitzt TAdoQuery ein eingebettetes Unterobjekt namens "Parameters".
Das Prinzip der Parameter bleibt aber gleich.
Andreas
  Mit Zitat antworten Zitat
t0mmy

Registriert seit: 28. Jul 2010
431 Beiträge
 
Delphi 2010 Architect
 
#7

AW: Einträge aus Datenbank an Variable übergeben

  Alt 13. Apr 2011, 12:06
Versteh ich nicht...
Delphi-Quellcode:
      ADOQuery1.SQL.Text := 'select Pfad from AFSSAuftraege where Würthnummer like = '+edit_wnumber.Text+')';
      ADOQuery1.Open;
      DeinSuchPfad := ADOQuery1.ParamByName('#39'+edit_wnumber.Text+'#39').AsString;
Es wird nichts übergeben --> Fehler bei Open

Was ich will is das beider Spalte Pfad von der Tabelle AFSSAuftraege die Würthnummer die in der selben Zeile steht als string in ein Edit feld schreiben
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Einträge aus Datenbank an Variable übergeben

  Alt 13. Apr 2011, 12:10
Entweder like oder =, aber nicht beides gleichzeitig.
Delphi-Quellcode:
      ADOQuery1.SQL.Text := 'select Pfad from AFSSAuftraege where Würthnummer like :param)';
      ADOQuery1.Parameters.ParamByName('param').Value := edit_wnumber.Text;
      ADOQuery1.Open;
      if not ADOQuery1.EOF then
        DeinSuchPfad := ADOQuery1.FieldByName('Pfad').AsString;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen

Geändert von DeddyH (13. Apr 2011 um 12:23 Uhr) Grund: EOF-Abfrage eingefügt
  Mit Zitat antworten Zitat
t0mmy

Registriert seit: 28. Jul 2010
431 Beiträge
 
Delphi 2010 Architect
 
#9

AW: Einträge aus Datenbank an Variable übergeben

  Alt 13. Apr 2011, 21:59
Okay habs jetzt mittlerweile verstanden, aber wenn ich jetzt meine Einträge parametrisiere bekomme ich beim ausführen meines Programmes einen Error bei folgender Programmzeile:

ADOQuery1.ParamByName('pfad').AsString := edit_setpfad.Text; Error:
Undeclearded identifier: 'ParamByName'
Missing operator or semicolon

Auch wenn ich schreibe:

ADOQuery1.Parameters.ParamByName('pfad').AsString := edit_setpfad.Text; kommt dann wieder ein Error: Undeclearded identifier: 'AsString'

Geändert von t0mmy (13. Apr 2011 um 22:02 Uhr)
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#10

AW: Einträge aus Datenbank an Variable übergeben

  Alt 13. Apr 2011, 22:26
So wie in #8 von DeddyH schon gezeigt:

Parameter:
ADOQuery1.Parameters.ParamByName('pfad').Value:=edit_setpfad.Text;

Inhalt:
edit_setpfad.Text:=ADOQuery1.FieldByName('pfad').AsString;

Geändert von omata (13. Apr 2011 um 22:30 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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