AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datenbankfeld in ein TEdit
Thema durchsuchen
Ansicht
Themen-Optionen

Datenbankfeld in ein TEdit

Ein Thema von PhilmacFLy · begonnen am 8. Jan 2010 · letzter Beitrag vom 9. Jan 2010
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von PhilmacFLy
PhilmacFLy

Registriert seit: 20. Jan 2008
Ort: Nürnberg
340 Beiträge
 
FreePascal / Lazarus
 
#1

Datenbankfeld in ein TEdit

  Alt 8. Jan 2010, 10:28
Datenbank: MS Accsess • Zugriff über: ADO
Moin ihr DP'ler

Mein Problem ist folgendes
ich hab hier einen Leasing Angebotsrechner in Delphi und der Soll aus einer Datenbank (Mailing) mit Mailingdaten 4 auslesen und die in 4 TEdit eintragen, aber nur wenn der Benutzer eine ID zum Mailing Adressat eingibt und einen entsprechenden Button betätigt.
Meine Frage ist nun wie bekomme ich die 4 Felder (Name, Anrede, Straße, Ort) aus der Tabelle (Adressebliste Antworten) in die 4 Editfelder?
PS: Nein ich kann den Tabellen Namen nicht auf einen ohne Leerzeichen ändern, der ist fest ins System eingebunden.
Philipp N.
"Programmiern ist wie küssen:
Mann kan darüber reden, mann kann es beschreiben,
aber man weiss erst, was es bedeutet,
wenn man es getan hat"
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.616 Beiträge
 
Delphi 12 Athens
 
#2

Re: Datenbankfeld in ein TEdit

  Alt 8. Jan 2010, 11:08
Wo genau hakt es denn? Wie Du die Daten bekommst oder wie Du die in den Edits anzeigen kannst?
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
Benutzerbild von PhilmacFLy
PhilmacFLy

Registriert seit: 20. Jan 2008
Ort: Nürnberg
340 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Datenbankfeld in ein TEdit

  Alt 8. Jan 2010, 11:12
daran wie ich die Daten bekomme weil wie ichs in die Edits bekomm dürfte ja dann nur noch ein einfaches := lösen
Philipp N.
"Programmiern ist wie küssen:
Mann kan darüber reden, mann kann es beschreiben,
aber man weiss erst, was es bedeutet,
wenn man es getan hat"
  Mit Zitat antworten Zitat
Grolle

Registriert seit: 5. Nov 2004
Ort: Coesfeld
1.268 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Datenbankfeld in ein TEdit

  Alt 8. Jan 2010, 11:17
Hi,

benutzt du eine Query? Dann ungefähr so:
Delphi-Quellcode:
Query.SQL.Clear;
Query.SQL.Add('SELECT * FROM documents WHERE id= :id');
Query.ParamByName('id').AsInteger := inVal;
Query.Open;
if not documentsQuery.IsEmpty then
begin
  Edit1.Text := Query.FieldByName('name').AsString;
  ...
Viele Grüße ...

  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#5

Re: Datenbankfeld in ein TEdit

  Alt 8. Jan 2010, 11:18
Hallo,

bei einem Select * from Tabelle kannst Du um den Tabellennamen Hochkommata nutzen, leider weiß ich aus dem Ärmel heraus nicht, welche Access jetzt da gerade haben will. Eine der folgenden Varianten könnte aber funktionieren:
SQL-Code:
Select * from 'Adressebliste Antworten'
Select * from "Adressebliste Antworten"
Select * from ´Adressebliste Antworten´
Select * from `Adressebliste Antworten`
  Mit Zitat antworten Zitat
Benutzerbild von PhilmacFLy
PhilmacFLy

Registriert seit: 20. Jan 2008
Ort: Nürnberg
340 Beiträge
 
FreePascal / Lazarus
 
#6

Re: Datenbankfeld in ein TEdit

  Alt 8. Jan 2010, 11:19
es sind [] bei Access das hab ich schon herrausgefunden
bzw Matze wars
Philipp N.
"Programmiern ist wie küssen:
Mann kan darüber reden, mann kann es beschreiben,
aber man weiss erst, was es bedeutet,
wenn man es getan hat"
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.616 Beiträge
 
Delphi 12 Athens
 
#7

Re: Datenbankfeld in ein TEdit

  Alt 8. Jan 2010, 11:22
Ich würde mich da allerdings auf die wirklich benötigten Felder beschränken (macht zwar unter Access wohl nicht wirklich einen Unterschied, aber es ist immer besser, sich das gleich anzugewöhnen).
SQL-Code:
SELECT Name, Anrede, Straße, Ort
FROM Tabelle
WHERE ID = :id
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
Benutzerbild von PhilmacFLy
PhilmacFLy

Registriert seit: 20. Jan 2008
Ort: Nürnberg
340 Beiträge
 
FreePascal / Lazarus
 
#8

Re: Datenbankfeld in ein TEdit

  Alt 8. Jan 2010, 11:45
ich habs jetzt so
Delphi-Quellcode:
ADOQuery1.SQL.Clear;
ADOQuery1.Parameters.ParamByName('id').Value := edparam.Text;
ADOQuery1.SQL.Add('SELECT Anrede FROM [Adressenliste Antworten] WHERE NR= :id');
ADOQuery1.Open;
Wegen Ado Query und funktioniert, also vielen Dank nochmal
Philipp N.
"Programmiern ist wie küssen:
Mann kan darüber reden, mann kann es beschreiben,
aber man weiss erst, was es bedeutet,
wenn man es getan hat"
  Mit Zitat antworten Zitat
Benutzerbild von PhilmacFLy
PhilmacFLy

Registriert seit: 20. Jan 2008
Ort: Nürnberg
340 Beiträge
 
FreePascal / Lazarus
 
#9

Re: Datenbankfeld in ein TEdit

  Alt 9. Jan 2010, 14:52
Jetzt hab ich ein anderes Problem und zwar wenn ich das 2te mal auslesen will kommt folgender Fehler:
Erste Zufalls-Exception bei $7C812AEB. Exception-Klasse EDatabaseError mit Meldung 'ADOQuery1: Parameter 'id' nicht gefunden'. Prozess mtd_leasing.exe (1784) Hier mal der Code dazu
Delphi-Quellcode:
procedure TForm3.bttauslesenClick(Sender: TObject);
var
an, ges, vname, nname, str, plz, ort: String;
begin
bttauslesen.Caption := 'Bitte warten';
bttauslesen.Enabled := false;
  if
    ping('walhall')
  then
    begin
      ADOConnection1.Connected := true;
      ADOQuery1.SQL.Clear;
      ADOQuery1.Parameters.ParamByName('id').Value := edparam.Text; //Markierte Zeile
      ADOQuery1.SQL.Add('SELECT Anrede, Geschlecht, Vorname, Nachname, PLZ, Straße, Ort FROM [Adressenliste Antworten] WHERE NR= :id');
      ADOQuery1.Open;
      if not ADOQuery1.IsEmpty then
      begin
        an := ADOQuery1.FieldByName('Anrede').AsString;
        ges := ADOQuery1.FieldByName('Geschlecht').AsString;
        vname := ADOQuery1.FieldByName('Vorname').AsString;
        nname := ADOQuery1.FieldByName('Nachname').AsString;
        plz := ADOQuery1.FieldByName('PLZ').AsString;
        str := ADOQuery1.FieldByName('Straße').AsString;
        ort := ADOQuery1.FieldByName('Ort').AsString;
        AdoQuery1.Close;
        AdoConnection1.Connected := false;
        Edpraxis.Text := an;
        if vname = 'then
        edname.Text := ges + ' ' + nname
        else
        edname.Text := vname + ' ' + nname;
        edstrasse.Text := str;
        edadresse.Text := plz + ' ' + ort;
        bttauslesen.Caption := 'Auslesen';
        bttauslesen.Enabled := true;
      end
      else
        begin
          Application.MessageBox('ID nicht vorhanden', 'Fehler', MB_ok or MB_iconerror);
          bttauslesen.Caption := 'Auslesen';
          bttauslesen.Enabled := true;
        end;
    end
  else
    if Application.MessageBox('Keine Verbindung zum Server möglich', 'Fehler', mb_iconerror or MB_RETRYCANCEL) = IDRETRY then
    bttauslesen.Click
    else
      begin
        bttauslesen.Caption := 'Auslesen';
        bttauslesen.Enabled := true;
      end;
end;
Philipp N.
"Programmiern ist wie küssen:
Mann kan darüber reden, mann kann es beschreiben,
aber man weiss erst, was es bedeutet,
wenn man es getan hat"
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Datenbankfeld in ein TEdit

  Alt 9. Jan 2010, 14:57
Reihenfolge falsch:
Delphi-Quellcode:
      ADOQuery1.SQL.Add('SELECT Anrede, Geschlecht, Vorname, Nachname, PLZ, Straße, Ort FROM [Adressenliste Antworten] WHERE NR= :id');

      ADOQuery1.Parameters.ParamByName('id').Value := edparam.Text; //Markierte Zeile
Btw. Die Abfrage brauchst du nur einmal setzen, beim 2. Mal reicht es den parameter neu zu belegen
Markus Kinzler
  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 01:36 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