AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi fehlermeldung in der query...
Thema durchsuchen
Ansicht
Themen-Optionen

fehlermeldung in der query...

Ein Thema von Sulustaner2004 · begonnen am 20. Feb 2004 · letzter Beitrag vom 3. Mär 2004
 
Sulustaner2004

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

Re: fehlermeldung in der query...

  Alt 23. Feb 2004, 08:32
also alles in allem klappt das nicht so @ fkerber
er hat irgendwelche probleme...wenn ich intostr setze stört ihn die vorschleife und danach der selbe fehler wieder...
ich poste nochmal den gesamten quellcode...

Delphi-Quellcode:

...
PRIVATE
    { Private-Deklarationen }
    FieldList, CompNames: TStringList;
  PUBLIC
    { Public-Deklarationen }
  End;

Var
  versuch : Tversuch;

Implementation
//uses form1;

{$R *.dfm}
// Zum füllen der combobox cbo_bezeichnung

Procedure TVersuch.FormCreate(Sender: TObject);
Begin
  FieldList := TStringList.Create;
  CompNames := TStringList.Create;
  // Für jedes Feld (FieldList) gibt es ein TEdit (CompNames)
  With adoquery1 Do
  Begin
    sql.Add('BEHANDLUNG');
    sql.Add('VERSUCHSFL_NR_WW');
    sql.Add('ANLAGEJAHR');
    sql.add('FLAECHENGROESSE');
    sql.Add('FLAECHENFORM');
    sql.Add('FOWUGEB');
    sql.Add('FOWUBEZ');
    sql.Add('MAKROKLIMA');
    sql.Add('KLIMASTUFE');
    sql.Add('BOART');
    sql.Add('LOBOFORM');
    sql.Add('HUFORM');
    sql.Add('BOTYP');
    sql.Add('NKS');
    sql.Add('HOEHE_NN');
    sql.Add('HANG_N');
    sql.Add('HANG_R');
    sql.Add('BA_M');
    sql.Add('HERKUNFT');
  End;
  With CompNames Do
  Begin
    Add('TB_BEHANDLUNG');
    Add('TB_VFL_NR_WW');
    Add('TB_JAHR');
    Add('TB_GROESSE');
    Add('TB_FORM');
    Add('TB_FOW1');
    Add('TB_FOW2');
    Add('TB_MAKRO');
    Add('TB_KLIMA');
    Add('TB_BO');
    Add('TB_LOBO');
    Add('TB_HU');
    Add('TB_BOTYP');
    Add('TB_NKS');
    Add('TB_HOEHE');
    Add('TB_HANG_N');
    Add('TB_HANG_R');
    Add('TB_BA');
    Add('TB_HERKUNFT');
  End;

  With ADOQuery1 Do
  Begin
    SQL.Text :=
      'SELECT dbo_VF.Versuchsfl_Bezeichnung' + #10 +
      'FROM (dbo_Versuch_ST dbo_V Inner Join dbo_Versuchsflaechen_ST dbo_VF On' + #10 +
      ' dbo_V.Versuchs_ID = dbo_VF.Versuchs_ID)' + #10 +
      //'INNER JOIN Koordinaten_ST ON dbo_VF.Versuchsfl_ID = Koordinaten_ST.Versuchsfl_ID' + #10 +
//'WHERE (((dbo_VF.Versuchsfl_Bezeichnung)))' + #10 +
    'ORDER By dbo_VF.Versuchsfl_Bezeichnung;';
    Open;
    While Not Eof Do
    Begin
      cbo_bezeichnung.Items.Add(FieldByName('Versuchsfl_Bezeichnung').asString);
      Next;
    End;
  End;
End;
//zum füllen der labels

Procedure TVersuch.CBO_BezeichnungChange(Sender: TObject);
Var
  Versuch : String;
  i : String;
Begin
  If cbo_bezeichnung.Text <> 'Then
  Begin
    versuch := cbo_bezeichnung.Text;
    label30.Caption := '';
    label31.Caption := '';

    With ADOQuery1 Do
    Begin
      SQL.Text :=
        'SELECT dbo_VF.Versuchsfl_ID,' + #10 +
        ' dbo_VF.Versuchsfl_Bezeichnung,' + #10 +
        ' dbo_VF.Versuchs_ID,' + #10 +
        ' dbo_VF.Behandlung,' + #10 +
        ' dbo_VF.Versuchsfl_nr_WW,' + #10 +
        ' dbo_VF.Versuchsfl_nr_Hass,' + #10 +
        ' dbo_VF.AnlageJahr,' + #10 +
        ' dbo_VF.Flaechengroesse,' + #10 +
        ' dbo_VF.Flaechenform,' + #10 +
        ' dbo_VF.FOWUGEB,' + #10 +
        ' dbo_VF.FOWUBEZ,' + #10 +
        ' dbo_VF.MAKROKLIMA,' + #10 +
        ' dbo_VF.KLIMASTUFE,' + #10 +
        ' dbo_VF.BOART,' + #10 +
        ' dbo_VF.LOBOFORM,' + #10 +
        ' dbo_VF.HUFORM,' + #10 +
        ' dbo_VF.BOTYP,' + #10 +
        ' dbo_VF.NKS,' + #10 +
        ' dbo_VF.Hoehe_NN,' + #10 +
        ' dbo_VF.HANG_N,' + #10 +
        ' dbo_VF.HANG_R,' + #10 +
        ' dbo_VF.BA_M,' + #10 +
        ' dbo_VF.Herkunft' + #10 +
        'FROM dbo_Versuchsflaechen_ST dbo_VF' + #10 +
        'WHERE dbo_VF.Versuchsfl_Bezeichnung = :i_Versuch' + #10 +
        'ORDER By dbo_VF.Versuchsfl_Bezeichnung';
      Prepared := True;
      Parameters.ParamByName('i_Versuch').Value := CBO_Bezeichnung.Text;
      Open;
      // Ab der 3. Spalte beginnen die Werte, die in den Labels dargestellt werden sollen...
      If Not Eof Then
        For i := 2 To pred(FieldCount) Do
        Begin
          TLabel(FindComponent('label' + IntToStr((i + 29)))).Caption := FieldValues[i].Value;
        End;

    End;
  End;
End;

Procedure TVersuch.cb_ExitClick(Sender: TObject);
Begin
  Close;
End;

Procedure TVersuch.CB_TakeClick(Sender: TObject);
Var
  versflid, SetStr : String;
  ProcessedRecs, i, SetCount : Integer;
  SetVals : Array Of String;
Begin
  versflid := ADOQuery1.FieldByName('versuchs_id').asString;
  If (tb_versuch_id.Text = '') Then
    ShowMessage('Bitte was eintragen.');

  SetCount := 0;
  // Arraylänge auf ANzahl der TEdits
  SetLength(SetVals, CompNames.Count);

  For i := 0 To pred(CompNames.Count) Do
  Begin
    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;
  End;
  // Entferne erstes Komma & Leerzeichen
  SetStr := Copy(SetStr, 10, Length(SetStr));
  // Wenn SetStr beschrieben wurde -> baue UPDATE-Statement...
  If SetStr <> 'Then
  Begin
    With ADOQuery1 Do
    Begin
      'Update dbo_Versuchsflaechen_ST t' + #10 +
        'Set ' + SetStr + #10 +
        'WHERE t.Versuchsfl_Bezeichnung = :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];
      // Ausführen
      ExecSQL;
    End;
  End;

End;

end.
bin langsam wirklich am verzweifeln...
Und das leben geht weiter.....
  Mit Zitat antworten Zitat
 


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 22:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz