Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Problem mit bool Datenbankeintrag. (https://www.delphipraxis.net/92015-problem-mit-bool-datenbankeintrag.html)

The_ New_Guy 13. Mai 2007 13:20

Datenbank: Paradox • Version: 7 • Zugriff über: Tquery,Ttable

Problem mit bool Datenbankeintrag.
 
Hi leute! Ich habe in Problem mit meiner datenbank - Ich möchte die checkbox.checked eigenschaft in meine datenbank bringen -

in etwa so:

Delphi-Quellcode:
query1.sql.clear;
query1.sql.add('insert into ***** (FELD) Values(' + quotedstr(booltostr(checkbox1.checked)) + ')';
leider funzt das mit dem booltostr nicht so .
das FELD in der datenbank läuft übrigens unter boolschen ausdruck.

delphi liefert mir auf diesen sql einen fehler :gruebel:

was kann ich tun?
danke schonmal im vorraus!

mkinzler 13. Mai 2007 13:25

Re: Problem mit bool Datenbankeintrag.
 
Verwende Parameter:
Delphi-Quellcode:
    sql.Text := 'insert into ***** (FELD) Values( :feld)';
    ParamByName('feld').Value := checkbox1.checked;

The_ New_Guy 13. Mai 2007 14:14

Re: Problem mit bool Datenbankeintrag.
 
er findet die parameter nicht - muss ich da noch irgendwas einstellen?

mkinzler 13. Mai 2007 14:15

Re: Problem mit bool Datenbankeintrag.
 
Delphi-Quellcode:
Query.ParamCheck := True;

The_ New_Guy 13. Mai 2007 14:20

Re: Problem mit bool Datenbankeintrag.
 
Delphi-Quellcode:
Query1.Active:=false;
  query1.SQL.Clear;

  // hier bei glanzahl kontrolle auf zahlen einführen + kontrolle auf datum

  query1.SQL.Add( 'INSERT into exceltabDatabase (AKZ, NACHNAME, VORNAME, '
                + 'Adresse, datum, GL, erfolg, abrechnung_erfasst, nur_beratung) VALUES('
                + quotedstr(edit1.Text)
                + ',' + quotedstr(edit2.text)
                + ',' + quotedstr(edit3.Text)
                + ',' + quotedstr(edit4.Text)
                + ',' + quotedstr(edit5.Text)
                + ',' + quotedstr(edit6.Text)
                + ':erfolg' + ':abrechnung_erfasst' + ':nur_beratung'
                + ')' );

  query1.ParamByName('erfolg').Value := checkbox1.checked;
  query1.ParamByName('abrechnung_erfasst').Value := checkbox2.checked;
  query1.ParamByName('nur_beratung').Value := checkbox3.checked;


  Query1.ParamCheck := True;

  query1.ExecSQL;
funzt leider nicht :(

mkinzler 13. Mai 2007 14:24

Re: Problem mit bool Datenbankeintrag.
 
Delphi-Quellcode:
query1.Paramcheck := True;
query1.SQL.text:= 'INSERT into exceltabDatabase (AKZ, NACHNAME, VORNAME, '
                + 'Adresse, datum, GL, erfolg, abrechnung_erfasst, nur_beratung) VALUES ('                      
                + ':adr, :datum, :gl, :erfolg, :ae, :nb);';
query1.ParamByName('adr').Value := ...

The_ New_Guy 13. Mai 2007 14:30

Re: Problem mit bool Datenbankeintrag.
 
ahhh ja habs kapiert! dankeschöööööööööööööööööööööön!!!!

danke für die geduld + anfängerhilfe

The_ New_Guy 13. Mai 2007 14:57

Re: Problem mit bool Datenbankeintrag.
 
Liste der Anhänge anzeigen (Anzahl: 1)
Delphi-Quellcode:
  Query1.ParamCheck := True;

  query1.SQL.Add( 'INSERT into exceltabDatabase (AKZ, NACHNAME, VORNAME, '
                + 'Adresse, datum, GL, erfolg, abrechnung_erfasst, nur_beratung)'
                + 'VALUES('
                + ':AKZ,:nachname,:vorname,:Adresse,:Datum,:gl,'
                + ':erfolg, :abrechnung_erfasst, :nur_beratung)'
                );

  query1.ParamByName('AKZ').AsString := edit1.Text;
  query1.ParamByName('nachname').AsString := edit2.text;
  query1.ParamByName('vorname').AsString := edit3.Text;
  query1.ParamByName('Adresse').AsString := edit4.Text;
  query1.ParamByName('Datum').AsDate := strtodate(edit5.Text);
  query1.ParamByName('gl').AsInteger := strtoint(edit6.Text);

  query1.ParamByName('erfolg').AsBoolean := checkbox1.checked;
  query1.ParamByName('abrechnung_erfasst').asboolean := checkbox2.checked;
  query1.ParamByName('nur_beratung').AsBoolean := checkbox3.checked;

  query1.ExecSQL;
darauf liefert er mir den errror(siehe bild)

mkinzler 13. Mai 2007 15:01

Re: Problem mit bool Datenbankeintrag.
 
Wenn die Typen übereinstimmen brauchst du nicht Casten sonder kannst .Value verwenden.

Das ist doppelt-gemoppelt:
Zitat:

Delphi-Quellcode:
query1.ParamByName('Datum').AsDate := strtodate(edit5.Text);

Besser:
Delphi-Quellcode:
query1.ParamByName('Datum').AsString := edit5.Text;

The_ New_Guy 13. Mai 2007 15:07

Re: Problem mit bool Datenbankeintrag.
 
Liste der Anhänge anzeigen (Anzahl: 1)
funktioniert leider nicht -
das feld in meiner paradox db ist übrigens vom typ datum(daher kann man dann doch kein asstring nehmen, oder?)

Delphi-Quellcode:
//...
              + ':AKZ,:nachname,:vorname,:Adresse,:Datum,:gl,'
                + ':erfolg, :abrechnung_erfasst, :nur_beratung)'
                );

  query1.ParamByName('AKZ').AsString := edit1.Text;
  query1.ParamByName('nachname').AsString := edit2.text;
  query1.ParamByName('vorname').AsString := edit3.Text;
  query1.ParamByName('Adresse').AsString := edit4.Text;
  query1.ParamByName('Datum').asstring := edit5.Text;
  query1.ParamByName('gl').AsInteg
//...

mkinzler 13. Mai 2007 15:11

Re: Problem mit bool Datenbankeintrag.
 
Schau mal bei welchem Parameter das auftritt.

BTW: wenn ich sagen du solltest .Value verwenden, meine ich das eigentlich auch so.

The_ New_Guy 13. Mai 2007 15:20

Re: Problem mit bool Datenbankeintrag.
 
Liste der Anhänge anzeigen (Anzahl: 1)
datum und die drei boolausdrücke machen probleme.

hier nochmal eine bild von meiner paradox db struktur +

ohne diese parameter gehts

Delphi-Quellcode:
//...

  query1.ParamByName('AKZ').AsString := edit1.Text;
  query1.ParamByName('nachname').AsString := edit2.text;
  query1.ParamByName('vorname').AsString := edit3.Text;
  query1.ParamByName('Adresse').AsString := edit4.Text;
//  query1.ParamByName('Datum').value := edit5.Text;
  query1.ParamByName('gl').AsInteger := strtoint(edit6.Text);

//  query1.ParamByName('erfolg').AsBoolean := checkbox1.checked;
//  query1.ParamByName('abrechnung_erfasst').asboolean := checkbox2.checked;
// query1.ParamByName('nur_beratung').AsBoolean := checkbox3.checked;

  query1.ExecSQL;
ahja: was bedeutet btw?

mkinzler 13. Mai 2007 15:22

Re: Problem mit bool Datenbankeintrag.
 
Delphi-Quellcode:
query1.ParamByName('AKZ').Value := edit1.Text;
  query1.ParamByName('nachname').Value := edit2.text;
  query1.ParamByName('vorname').Value := edit3.Text;
  query1.ParamByName('Adresse').Value := edit4.Text;
  query1.ParamByName('Datum').Value := StrToDate(edit5.Text);
  query1.ParamByName('gl').Value := strtoint(edit6.Text);

  query1.ParamByName('erfolg').Value := checkbox1.checked;
  query1.ParamByName('abrechnung_erfasst').Value := checkbox2.checked;
  query1.ParamByName('nur_beratung').Value := checkbox3.checked;

The_ New_Guy 13. Mai 2007 15:43

Re: Problem mit bool Datenbankeintrag.
 
funktioniert immer noch nicht, leider - könnte es sein das ich irgendetwas generell falsch gemacht habe?

übrigens funktionieren wieder nur die bool parameter und das datumparameter nicht

mkinzler 13. Mai 2007 15:47

Re: Problem mit bool Datenbankeintrag.
 
Stimmt den das Datumsformat. Hier würde ich besser einen DateTimePicker mehmen.
Warum das mit dem Boolean nicht geht, wieß ich leider auch nicht.

The_ New_Guy 13. Mai 2007 15:57

Re: Problem mit bool Datenbankeintrag.
 
tja dann nehm ich jetzt halt strings mit länge 1 als bool *grmpf* :wall: :wall: :wall: :wall:

trotzdem danke für die hilfe, villeicht finde ich noch heraus, was falsch war

The_ New_Guy 15. Mai 2007 19:38

Re: Problem mit bool Datenbankeintrag.
 
Also wens noch interessiert, ich hab das Problem jetzt gelöst:

das Problem selbst heisst paradox datenbank -
bool ausdrücke lassen sich da nicht oder nur selten ohne fehler importieren - genauso wie z.b. ein reihnes datum (D).

Kein Problem bereiten allerdings datetime (@)
und integer oder shortint als bool.

mkinzler 15. Mai 2007 19:42

Re: Problem mit bool Datenbankeintrag.
 
Ein weiterer Grund die BDE durch was moderneres zu ersetzen


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