Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Variable für markierten RadioButton in DB schreiben??? (https://www.delphipraxis.net/6772-variable-fuer-markierten-radiobutton-db-schreiben.html)

jschade 22. Jul 2003 09:21


Variable für markierten RadioButton in DB schreiben???
 
Moin Leute,

hab wieder mal 'n kleines Problem und hoffe, ihr könnt mir auch diesmal weiterhelfen:

hab in einer radiogroup 3 radiobuttons und will beim betätigen eines buttons je nach markiertem button etwas in meine db schreiben.
(ist dazu da, manuell zu bestimmen, ob ein tag arbeitstag, frei oder feiertag ist), habs zuerst mal beim ersten radiobutton versucht. allerdings bekomme ich immer ne fehlermeldung beim drücken meines buttons, wenn der erste radiobutton ausgewählt ist (...ParameterArbeitstag hat keinen gültigen Standardwert...)

Code:
procedure TKalenderpflege.Button1Click(Sender: TObject);
var rb :String;
begin
//RadioButton1-----------------------------------
If (RadioButton1.Checked = true) then
  begin
    rb := 'Arbeitstag';
    Label1.Caption := rb;  // nur zum Prüfen, was in rb steht
    ADODataSetKalender.Active := False;
    ADODataSetKalender.CommandText := 'INSERT INTO MA_Kalender(Art) VALUES ('+rb+')';
    ADODataSetKalender.Active := True;
    end
//RadioButton2-----------------------------------
Else If (RadioButton2.Checked = true) then
  begin
    rb := 'Feiertag';
    Label1.Caption := rb;
    end
//RadioButton3-----------------------------------
Else If (RadioButton3.Checked = true) then
  begin
    rb := 'Arbeitsfrei';
    Label1.Caption := rb;
    end
//-----------------------------------
    end;
wie bekomme ich nun meine variable rb in die datenbank? kann mir da jemand helfen?

mfg jan

Nalincah 22. Jul 2003 09:26

Re: Variable für markierten RadioButton in DB schreiben???
 
Probier doch mal das:

ADOTable1.Edit;
ADOTable1.FieldbyName('Feld wo "rb" rein soll').AsString := rb;
ADOTable1.Post;

jschade 22. Jul 2003 10:00

Re: Variable für markierten RadioButton in DB schreiben???
 
Zitat:

Zitat von General2003
Probier doch mal das:

ADOTable1.Edit;
ADOTable1.FieldbyName('Feld wo "rb" rein soll').AsString := rb;
ADOTable1.Post;

zuerst mal danke fürs schnelle antworten. habs auch mal so probiert, hatte leider nicht den gewünschten effekt. is mehr 'n update (hat meine variable rb immer in die erste zeile der db-tabelle geschrieben), ich such aber 'n insert(als anfügen an vorhandene datensätze). hab auch noch ein wenig probiert und ich denke es war die verkehrte komponente und ein kleines syntax-problem:

Code:
ADOCommandKalender.CommandType := cmdText;
ADOCommandKalender.CommandText := 'INSERT INTO MA_Kalender(Art) VALUES ('''+rb+''')'; //man achte auf die hochkommas
ADOCommandKalender.Execute;
so funktionierts bei mir... :dancer:

Nalincah 22. Jul 2003 10:05

Re: Variable für markierten RadioButton in DB schreiben???
 
Klar, so kann mans auch machen, aber ich hab mich halt an die Edit/Insert/Post Geschichte gewöhnt :coder:

Sharky 22. Jul 2003 10:57

Re: Variable für markierten RadioButton in DB schreiben???
 
Hai jschade,

Du schreibst das Du eine Radiogroup hast. Dann wäre die Auswertung welcher "Radiobutton" gewählt wurde so einfacher:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
 rb : String;
begin
 Case RadioGroup1.ItemIndex of
  0 : rb:= 'Arbeitstag';
  1 : rb:= 'Feiertag';
  2 : rb:= 'Arbeitsfrei';
 end;
 Query1.Insert;
 Query1.FieldByName ('rb').AsString := rb;
 Query1.Post;
end;
oder mit deien DB-Funktionen:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
 rb : String;
begin
 Case RadioGroup1.ItemIndex of
  0 : rb:= 'Eins';
  1 : rb:= 'Zwei';
  2 : rb:= 'Drei';
 end;
 ADOCommandKalender.CommandType := cmdText;
 ADOCommandKalender.CommandText := 'INSERT INTO MA_Kalender(Art) VALUES ('
    + QuotedStr (rb)
    + ')';
 ADOCommandKalender.Execute;
end;

jschade 22. Jul 2003 12:54

Re: Variable für markierten RadioButton in DB schreiben???
 
@ Sharky

..mmmhhh. habs versucht, kann es sein, dass es irgendwie nicht hinhaut? wenn ich mir die variable rb anzeigen lasse ist sie leer, obwohl ich einen radiobutton angeklickt hab. verstehe allerdings auch nicht warum. eigentlich war ich ja von deinem vorschlag sehr angetan, deshalb würde ich mich freuen, wenn du oder jemand anderes ne idee hat, wie man dem abhelfen kann...

Sharky 22. Jul 2003 12:57

Re: Variable für markierten RadioButton in DB schreiben???
 
Hast Du denn die Radiobuttons auch richtig "erzeugt"?

Wenn Du ein Radiogroupbox hast darst Du dort natürlich keine normalen Radiobuttons drauflegen!

Die Buttons werden automatisch erzeugt. Ziehe mal eine Radiogroupbox auf ein Form und trage dort dann einige Zeilen im OI bei Items ein.

jschade 22. Jul 2003 13:07

Re: Variable für markierten RadioButton in DB schreiben???
 
Zitat:

Zitat von Sharky
Hast Du denn die Radiobuttons auch richtig "erzeugt"?

Wenn Du ein Radiogroupbox hast darst Du dort natürlich keine normalen Radiobuttons drauflegen!

Die Buttons werden automatisch erzeugt. Ziehe mal eine Radiogroupbox auf ein Form und trage dort dann einige Zeilen im OI bei Items ein.

alles klar so funktionierts! DANKE


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:13 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