AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

feld nicht gefunden

Ein Thema von Sulustaner2004 · begonnen am 11. Mär 2004 · letzter Beitrag vom 12. Mär 2004
Antwort Antwort
Seite 2 von 4     12 34      
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#11

Re: feld nicht gefunden

  Alt 12. Mär 2004, 08:22
Bist Du denn dein Programm einemal im Debug-Modus (F8 / F9) durchgegangen?
An welcher Stelle genau kommt denn der Fehler?
Hast Du dir den zusammengesetzen SQL-Befehl mal in einem Memo oder so angezeigt?
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Sulustaner2004

Registriert seit: 14. Jan 2004
106 Beiträge
 
Delphi 7 Professional
 
#12

Re: feld nicht gefunden

  Alt 12. Mär 2004, 08:27
also er kommt garnicht bis zum sql string...
er springt an dieser stelle raus

versflid := ADOQuery1.FieldByName('Bearbeiter').asString; mit der meldung feld bearbeiter nicht gefunden
er müsste in diesem feld unter anderem auch daten in der entsprechenden tavelle im entsprechenden eld daten anfügen !!!
Und das leben geht weiter.....
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#13

Re: feld nicht gefunden

  Alt 12. Mär 2004, 08:29
Moin
Wieso kommt mir der Code so bekannt vor ( )
Du hast dort, glaube ich noch 2 Spalten hinzu gefügt.
Poste mal bitten den COde, der für das Update zusammen gebastelt wird (geht am einfachsten so wie Sharky es beschrieben hat).
Ich hatte den nie getestet!

Nachtrag: Das hast du auch geändert ( ) -> Ist ADOQuery1 zu diesem Zeitpunkt überhaupt geöffnet?
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#14

Re: feld nicht gefunden

  Alt 12. Mär 2004, 08:34
Das Feld gibt es aber in der Tabelle?
Da ich davon einmal ausgehe -> hast Du eventuell über den Feldeditor Felder in deinem Query "ereugt" (Rechte Maus auf Query - Feldeditor). Wenn Du das machst werden nämlich nur die Felder zurückgegeben die dort stehen.

Bsp:
Code:
Tabelle:
id
name
vorname
strasse
ort
Im FeldEditor stehen die Felder:
Code:
name
vorname
Bei einem:

Delphi-Quellcode:
begin
  with Query1 do
  begin
    Close;
    SQL.Clear;
    SQL.Text := 'SELECT * FROM tablle';
    Open;
  end;
end;
werden Dir trotzdem nur die beiden Felder aus dem FeldEditor zurück gegeben. So könntest Du z.B. auf das Feld "ort" nie zugreifen.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Sulustaner2004

Registriert seit: 14. Jan 2004
106 Beiträge
 
Delphi 7 Professional
 
#15

Re: feld nicht gefunden

  Alt 12. Mär 2004, 08:43
hi Robert_G..
also ich kann dir nochmal beide dateien anhängen...und ja, ich habe ihn noch ein wenig abgeändert weil es sein musste... schon alleine wegen der kompatibilität hier...
Angehängte Dateien
Dateityp: zip daten_375.zip (374,9 KB, 7x aufgerufen)
Und das leben geht weiter.....
  Mit Zitat antworten Zitat
Sulustaner2004

Registriert seit: 14. Jan 2004
106 Beiträge
 
Delphi 7 Professional
 
#16

Re: feld nicht gefunden

  Alt 12. Mär 2004, 08:45
@ sharky er kommt ja nicht mal bis zur sql anweisung...

Delphi-Quellcode:
procedure TForm1.cb_takeClick(Sender: TObject);
Var
  versflid, SetStr : String;
  ProcessedRecs, i, SetCount : Integer;
  SetVals : Array Of String;
Begin
  versflid := ADOQuery1.FieldByName('Bearbeiter').asString; //hier springt er dann raus mit der fehlermeldung
  If (tb_Bearbeiter.Text = '') Then
    ShowMessage('Bitte was eintragen.');
Und das leben geht weiter.....
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#17

Re: feld nicht gefunden

  Alt 12. Mär 2004, 08:47
Zitat von Sulustaner2004:
@ sharky er kommt ja nicht mal bis zur sql anweisung......
Wenn die Query nicht geöffnet wurde kannst Du doch auch nicht auf Felder der Tabelle zugreifen!
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#18

Re: feld nicht gefunden

  Alt 12. Mär 2004, 08:56
  • Deine ADOQuery1 wird in deinem Code nur für das UPDATE-Statement verwendet.
    Sie kann keine Ergebnismenge mit der Spalte "Bearbeiter" haben!

    Außerdem wird "VersFlID" gar nicht mehr verwendet. -> Die Zeile kann gelöscht werden.
  • Warum gibst du dem Parameter ":i_Versuch" keinen Wert?
    An der Stelle (in beiden Formularen) wird es als nächstes krachen
  Mit Zitat antworten Zitat
Sulustaner2004

Registriert seit: 14. Jan 2004
106 Beiträge
 
Delphi 7 Professional
 
#19

Re: feld nicht gefunden

  Alt 12. Mär 2004, 09:18
ich bin wirklich zu blöd dafür...
habe echt keine ahnung was ihr mir damit sagen wollt...
Und das leben geht weiter.....
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#20

Re: feld nicht gefunden

  Alt 12. Mär 2004, 09:54
OK, nochmal zum mitschreiben ( )
  • Die Zeile mit der Fehlermeldung
     versflid := ADOQuery1.FieldByName('Bearbeiter').asString; Du willst einen Wert aus ADOQuery1 an versflid übergeben.

    ADOQuery1 wird aber nie (!) mit einem SELECT-Stement aufgerufen, erst recht nicht mit einem, dass die Spalte "Bearbeiter" enthält.
    Wenn du Daten aus der DB in die Edits schreiben willst, dann schau dir mal OnCreate im Form "Versuch2" an.

    Außerdem hat diese Zeile keinen Sinn, da du die Variable "versflid" im Code nicht mehr benutzt.
  • Das UPDATE-Statement
    Delphi-Quellcode:
        With FindComponent(CompNames[i]) As TEdit Do
          If Text <> 'Then
          Begin
            // Wenn Edit <> '' -> Wert in den Array & Spalte kommt mit in die SET-Clause...
            SetVals[SetCount] := Text;
            SetStr := SetStr + ',' + #10 + ' ' + Fieldnames[i] + ' = :' + 'i_F' + IntToStr(SetCount);
            inc(SetCount);
          End;
        ...
        With ADOQuery1 Do
        Begin
          SQL.Text :=
            'UPDATE dbo_VFL_VERZ_TEMP t' + #10 +
            'SET ' + SetStr + #10 +
            'WHERE t.Bearbeiter = :i_Versuch';
          Prepared := True;
          // Werte der Paramter :i_F(1 - ...)
          For i := 0 To pred(SetCount) Do
            Parameters.ParamByName('i_F' + IntToStr(i)).Value := SetVals[i];
          ...
    Für jedes Edit, dass beschrieben wurde, kommt eine Zuweisung ins UPDATE-Statement (incl. Parameter).
    Die Werte, für die Parameter kommen in den Array SetVals.

    In SetCount steht wieviele Felder zu ändern sind. Es wird eine Schleife durchlaufen, in der die Parameterwete an die Query übergeben werden.
    Hier fehlt der Wert für :i_Versuch! Das könnte so aussehen:
     Parameters.ParamByName('i_Versuch').AsString := TB_Bearbeiter.Text;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 14:54 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