Autor Beitrag
doc_haemmer
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Sa 05.10.02 14:45 
Hallo

ich bin noch neu hier und weiss deshalb nicht, ob ich jetzt richtig poste wenn ich das unter Datenbanken stelle, hoffe aber schon. :roll:

Ich hab bis jetzt auch ziemlich viel hier gelesen und eigentlich alle Probleme mit den Hilfen hier lösen können.

Nun hab ich aber ein Problem das wahrscheinlich wirklich sehr einfach ist, das mich aber bald zum verzweifeln bringt.

Ganz vereinfacht möchte ich einen Wert aus einem Feld (sagen wir ein Edit Feld) in meine DB übernehmen. So weit so gut, nur ist es so das ich in der DB ein Double Feld 10,2 habe und jetzt den Wert über einen Knopf übernehmen möchte. Steht aber in dem Edit Feld z.B 12,22 so übernimmt er mir nur die 12 und schneidet mir immer das Komma und die Werte danach ab.

Hier mal der Code wie ich es probiere,

ausblenden Quelltext
1:
2:
3:
4:
    QZahl.Close;
    QZahl.Sql.Clear;
    QZahl.Sql.Add('Insert into Test values("'+Edit1.Text+'")');
    QZahl.ExecSql;


Probiert es bitte mal aus und sagt mir was ich falsch mache. :cry:

Ich komm einfach nicht drauf, wahrscheinlich ein Anfängerproblem aber trotzdem ärgerlich.

Ach ja, ich arbeite mit einer mysql Datenbank, aber das ist ja schätz ich mal das gleiche wie eine normale SQL DB oder?

Danke für Eure Hilfe

doc_haemmer
MrSpock
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 262



BeitragVerfasst: Sa 05.10.02 19:07 
Hallo doc_haemmer,

versuchs mal mit:

ausblenden Quelltext
1:
2:
3:
4:
    QZahl.Close;
    QZahl.Sql.Clear;
    QZahl.Sql.Add('Insert into Test values('+Edit1.Text+')');
    QZahl.ExecSql;


Durch die doppelten Anführungsstriche erzeugst du einen String.

_________________
Live long and prosper
MrSpock \\//
doc_haemmer Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: So 06.10.02 08:00 
Hallo Mr. Spock,

Sorry das habe ich vergessen zu schreiben, das ich das auch schon probiert hatte. Wenn ich es so mache, bekomme ich einen Fehler mit der Nachricht.

ausblenden Quelltext
1:
Im Projekt ist eine Exception der Klasse EDatabaseError aufgetreten. Meldung ' olumn count doesn't match value count at row 1'. ...					


also so geht es glaube ich nicht, hast Du oder wer anders vielleicht eine andere Idee wie es gehen könnte? :(
bis11
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1247
Erhaltene Danke: 2

Apple Mac OSX 10.11

BeitragVerfasst: So 06.10.02 08:55 
Hi,

Probiere es mal so :

ausblenden Quelltext
1:
2:
3:
4:
    QZahl.Close; 
    QZahl.Sql.Clear; 
    QZahl.Sql.Add('Insert into Test values Feldname='+edit1.text);
    QZahl.ExecSql;
doc_haemmer Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: So 06.10.02 10:16 
Hi bis11,

so geht es glaube ich nicht, hab es gerade probiert und bekomm dann einen Fehler das ich einen Fehler in meiner SQL Syntax habe.

Ich glaub auch das meine Syntax die ganz oben steht stimmt, den bei Strings und Integer Werten hab ich ja keine Probleme. die Probleme bekomme ich ja nur, wenn ich einen Wert in ein Double Feld übergeben will, weil er mir das Komma und den Rest danach abschneidet.

Hat sonst noch wer eine Idee? :oops:

Ach ja Danke erstmal für Eure Hilfen, auch wenn es noch nicht die Lösung ist. :wink:
Snoop007
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 50



BeitragVerfasst: So 06.10.02 10:26 
SQL - Anweisung
ausblenden Quelltext
1:
2:
INSERT INTO <tabellenname> 
(<spaltenname>) VALUES (<zahlenwert>)

oder
ausblenden Quelltext
1:
2:
INSERT INTO <tabellenname> 
(<spaltenname>) VALUES ('<stringwert>')


ich glaube bei dir liegt das problem am komma, tausche es mal gegen einen punkt aus

wenn das nicht hilft schreib mal, von was für einem typ das feld ist, indas der wert aus edit1 rein soll

ich habe was vergessen zu erwähnen, übergibst du einen stringwert in eine sql-anweisung und ist dieser ein string wert, muss eine sql-anweisung wie folgt lauten

ausblenden Quelltext
1:
'INSERT INTO <tabellenname> (<spaltenname>) VALUES ('''+<variable>+''')'					
doc_haemmer Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Di 08.10.02 10:33 
Hi Snoop007,

Danke für Deine Hilfe, jetzt funzt es. Es war 1. Das Komma, das ich als Punkt haben muss und dann die 2.te Sache die Du geschrieben hast mit den 3'. :lol: :D :lol:

Auf die Sache mit dem Punkt wäre ich nie gekommen. Ic hab das mysqlFront zu Hause mit dem man schön Sachen in die DB eintragen kann und wenn man da einen Punkt eingibt bei den Werten, wandelt er es automatisch in ein Komma um. Deshalb hab ich gedacht das es nur mit Komma geht. :oops:

Mach ich es aber über mein Delphi Programm mit der Insert Anweisung, kann ich auch einen Punkt eingeben. Ach ja das Feld war ein Double(10,2) aber das hat sich ja jetzt erledigt. :wink:

Vielen Dank nochmal für Eure Hilfe :lol:

Schöne Grüße doc_haemmer