Forum: PC-Programmierung C MYSQL DATETIME einfügen


von Ich (Gast)


Lesenswert?

Moin,

ich will in meine MYSQl Zeile ein Datum mit einfügen.

Die Zelle hat das Format DATETIME. Nur wie fülle ich sie.

Ich habe das Datum schon passend formatiert
1
  //Datum auslesen
2
  time_t mytime;
3
  mytime = time(NULL);
4
  char datetime[20];
5
  strftime(datetime,20, "%Y-%m-%d %H:%M:%S", localtime(&mytime));

Ich wollte es ein meinen Aufruf mit einbauen
1
sprintf(Aufruf, "INSERT INTO `Zaehler_Daten`(`Addr`, `Bezug`, `Lieferung`) VALUES ('%i','%g','%g')", zaehler_addr_i[i], bezug[i], liefer[i]);
2
mysql_real_query(my, Aufruf, strlen(Aufruf));


Habe schon versucht es als %s mit einzureihen, aber ohne erfolg.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Ich schrieb:
> Habe schon versucht es als %s mit einzureihen, aber ohne erfolg

Was ist den das Problem? Lass dir doch den entstandenen String mal 
ausgeben. Fehlermeldungen? ...

von Peter II (Gast)


Lesenswert?

verwende doch einfach now();

INSERT INTO Zaehler_Daten(Addr, Bezug, Lieferung)
   VALUES ('%i','%g', now() )

von Heiko (Gast)


Lesenswert?

Ich denke,  der SQL Server schimpft wegen eines ungültigen Formates.

strftime(datetime,20, "%Y-%m-%d %H:%i:%s", localtime(&mytime));

Müsste die richtige Formatierung sein.

von Ich (Gast)


Lesenswert?

Also now geht gar nicht.
1
sprintf(Aufruf, "INSERT INTO `Zaehler_Daten`(`Addr`, `Bezug`, `Lieferung`, `Zeitstempel`) VALUES ('%i','%g','%g','%s')", zaehler_addr_i[i], bezug[i], liefer[i], datetime);

So geht nicht :-( evtl liegt an dem %s als was muss das denn übergeben.

von Peter II (Gast)


Lesenswert?

Ich schrieb:
> Also now geht gar nicht.

klar geht das, verwende ich doch ständig.

von Peter II (Gast)


Lesenswert?


von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Du schreibst einfach nur NOW() ohne Anführungszeichen und ohne sprintf.

Leider ist immer noch unklar was dein Problem ist:
a) du hast keine Ahnung wie man sprintf benutzt
b) der query gibt eine MySQL Fehlermeldung (welche? wie sieht der Query 
aus)

lass dir doch nicht alles aus der Nase ziehen!

von Ich (Gast)


Lesenswert?

Ah ich habe es :-D

%Y-%m-%d %H:%M:%S war das richte Format.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.