OK jetzt mal ganz kurz und knackig mein Problem mit ODBC
-
Ja ich merke es das du diesen Spruch liebst
Ich denke mal das ich eher sagen werde das Null drin stehen darf , ich tippe mal das ich das bei allen machen muss.
-
Wenn ich aber in Access nach gucke , steht da das die Eingabe nicht erforderlich ist, dass heisst doch schon automatisch das da auch NULL drin stehen darf oder??
-
OK alles zurück
Es FUNKTIONIERT
Hey man that's cool
Ich hatte noch dein Beispiel von vorhin mit drin :SqlString.Format( "('%s','%s','%s','%s','%s')", NewSong.Shelf.c_str(),NewSong.Interpreter.c_str(),NewSong.Title.c_str(),NewSong.Rubric.c_str(),NewSong.CD.c_str());
Ich hatte es mir in den Code kopiert um nicht hin und her schalten zu müssen und deswegen hatte ich als so ne blöde Fehlermeldung
DANKE für eure Hilfe ohne euch hätte ich das nie geschafft
Gruß SIlver
-
Der einzige Nachteil momentan funktioniert es nur wenn ich wirklich alle Felder ausfülle
-
In die Entwurfsansicht der Tabelle im Access gehen und dann "Eingabe erforderlich" bei der Spalte auf "nein" stellen - Problem behoben..
-
Silvercreast schrieb:
Wenn ich aber in Access nach gucke , steht da das die Eingabe nicht erforderlich ist, dass heisst doch schon automatisch das da auch NULL drin stehen darf oder??
Das meinte ich ja damit trotz das das da drin steht.
-
hmm, hatte ich überlesen.
Das ist komisch, hast du die Spalte vielleicht als Primärschlüssel deklariert? Dann ist eine Eingabe nämlich auch erforderlich..
Ansonsten fällt mir dazu jetzt nix mehr ein
-
Ich hab noch 3 Ideen:
1. Versuch mal von Hand in Access "nix" einzugeben. Was passiert?
2. Wie sieht der endgültig zusammengebaute String aus?
3. Vielleicht draf man leere Felder beim Insert nicht erwähnen?
-
Ahh - daran liegt's..
Du darfst nicht '' übergeben, das muss dann NULL heissen.
mach einfach
strErgebnis.Replace("''","NULL");
direkt vorm ExecuteSQL, dann sollte es gehen..
Access und Oracle wollen da ein NULL stehen haben
MySQL isses egal..grad getestet
-
Cool danke funktioniert