![]() |
Datenbank über Button beschreiben lassen...
Morgen leute...
ich habe da ein Problem und hoffe mal das ihr mir da helfen könnt... Ich muss über einen button in eine Datanbank schreiben und egal was ich mache ich bekomme immer die Fehlermeldung "Anweisung bei abgeschlossener Datenmenge nicht ausführbar" was kann ich tun damit er meine Felder trotzdem in die Datenbank schreibt ??? :gruebel: zum besseren Verständnis hier der Teil Quellcode um den es geht...
Delphi-Quellcode:
schon mal vielen dank für eure hilfe...
procedure Tversuch.CB_TakeClick(Sender: TObject);
var versflid :integer; begin versflid:=adoquery1.fieldbyname('versuchsfl_id').AsInteger; begin if adotable1.Locate('versuchsfl_id',versflid,[]) then begin with adoquery1 do begin sql.Clear; close; sql.Add('SELECT dbo_Versuchsflaechen_ST.Versuchsfl_ID, dbo_Versuchsflaechen_ST.Versuchsfl_Bezeichnung, dbo_Versuchsflaechen_ST.Versuchs_ID,'); sql.Add('dbo_Versuchsflaechen_ST.Behandlung, dbo_Versuchsflaechen_ST.Versuchsfl_nr_WW, dbo_Versuchsflaechen_ST.Versuchsfl_nr_Hass,'); sql.Add('dbo_Versuchsflaechen_ST.AnlageJahr, dbo_Versuchsflaechen_ST.Flaechengroesse, dbo_Versuchsflaechen_ST.Flaechenform,'); sql.Add('dbo_Versuchsflaechen_ST.FOWUGEB, dbo_Versuchsflaechen_ST.FOWUBEZ, dbo_Versuchsflaechen_ST.MAKROKLIMA,'); sql.Add('dbo_Versuchsflaechen_ST.KLIMASTUFE, dbo_Versuchsflaechen_ST.BOART, dbo_Versuchsflaechen_ST.LOBOFORM,'); sql.Add('dbo_Versuchsflaechen_ST.HUFORM, dbo_Versuchsflaechen_ST.BOTYP, dbo_Versuchsflaechen_ST.NKS, dbo_Versuchsflaechen_ST.Hoehe_NN,'); sql.Add('dbo_Versuchsflaechen_ST.HANG_N, dbo_Versuchsflaechen_ST.HANG_R, dbo_Versuchsflaechen_ST.BA_M, dbo_Versuchsflaechen_ST.Herkunft'); sql.Add('FROM dbo_Versuchsflaechen_ST'); sql.Add('WHERE dbo_Versuchsflaechen_ST.Versuchsfl_Bezeichnung ='{+quotedstr(versuch)}); open; end; while not adoquery1.Eof do begin adoquery1.Edit; adoquery1.FieldByName('versuchs_id').asinteger:=versflid; adoquery1.Post; adoquery1.Next; end; end; end; end; |
Re: Datenbank über Button beschreiben lassen...
Wenn du in alle Einträge, bei denen "Versuchsfl_Bezeichnung = Versuch" ist, ändern willst:
Delphi-Quellcode:
Var
ProcessedRecs : Integer; Begin ... With ADOQuery1 Do Begin SQL.Text := 'Update dbo_Versuchsflaechen_ST t' + #10 + 'Set t.Vesuchs_ID = :i_VersFlID' + #10 + 'WHERE t.Versuchsfl_Bezeichnung = :i_Versuch'; prepared := True; Parameters.ParamByName('i_VersFlID').Value := VersFlID; Parameters.ParamByName('i_Versuch').Value := Versuch; ProcessedRecs := ExecSQL; End; MessageDlg(IntToStr(ProcessedRecs) + ' records updated ...', mtInformation, [mbOK], 0); ... End; |
Re: Datenbank über Button beschreiben lassen...
danke...aber das problem besteht darin das ich 20 textboxen in eine datenbank übernehmen muss...jede box hat einen anderen namen und gehört zu einem anderen feld in der datenbank (allerdings selbe tabelle) :wall:
|
Re: Datenbank über Button beschreiben lassen...
Das müsste gehen:
Delphi-Quellcode:
...
'Set t.Vesuchs_ID = :i_VersFlID,' + #10 + ' t.Behandlung = :i_Behandlung,' + #10 + ' t.Flaechengroesse = :i_FlächGröße,' + #10 + ... 'WHERE t.Versuchsfl_Bezeichnung = :i_Versuch'; prepared := True; Parameters.ParamByName('i_VersFlID').Value := VersFlID.Text; Parameters.ParamByName('i_Behandlung').Value := Behandlung.Text; Parameters.ParamByName('i_FlächGröße').Value := FlächenGröße.Text; ... Parameters.ParamByName('i_Versuch').Value := Versuch; ProcessedRecs := ExecSQL; ... |
Re: Datenbank über Button beschreiben lassen...
ok...werde es mal ausprobieren... :-)
mal sehen ob es klappt !!! |
Re: Datenbank über Button beschreiben lassen...
Ansonsten mal sowas in der Richtung:
Delphi-Quellcode:
So brauchst du nicht die Buttons alle hinschreiben.
For i := 1 to 20 do begin
Eintrag := (FindComponent('Edit'+IntToStr(i)) as TButton).Text end; Müssen halt alle nacheinander Button1, Button2, Button3 usw heißen |
Re: Datenbank über Button beschreiben lassen...
nun ja...es sind ja 20 textboxen und nur ein button...
|
Re: Datenbank über Button beschreiben lassen...
Tschuldigung...mein ich doch... Bin etwas durchd en Wind heute :mrgreen:
(FindComponent('Edit'+IntToStr(i)) as TButton).Text |
Re: Datenbank über Button beschreiben lassen...
macht ja nichts....
ist ja noch früh am morgen !!! :-) |
Re: Datenbank über Button beschreiben lassen...
Ist noch ein bisschen früh heute, oder was Schubi? :mrgreen:
Zitat:
Delphi-Quellcode:
(FindComponent('Edit'+IntToStr(i)) as TEdit).Text
|
Re: Datenbank über Button beschreiben lassen...
naja....man muss ihn verstehen...es ist leider erst Montag :lol:
|
Re: Datenbank über Button beschreiben lassen...
It's Monday... *würg*
:mrgreen: Entschuldigt die Verwirrung... ![]() |
Re: Datenbank über Button beschreiben lassen...
:lol: Ja, du sagst es... :lol:
|
Re: Datenbank über Button beschreiben lassen...
Ein anderes Problem bei diesem Programm ist, das nicht in jeder Textbox etwas drinstehen muss.... :!:
|
Re: Datenbank über Button beschreiben lassen...
If (FindComponent('Edit'+IntToStr(i)) as TEdit).Text <> '' Then
//rein schreiben else //Standardwert reinschreiben |
Re: Datenbank über Button beschreiben lassen...
ok, danke dir... :-)
was würde ich ohne euch nur machen ??? :oops: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:39 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 by Thomas Breitkreuz