Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  MySQL
  update date = NULL ... aber wie?

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  update date = NULL ... aber wie? (14997 mal gelesen)
BloodyMess
Mitglied
Applicationingenieur


Sehen Sie sich das Profil von BloodyMess an!   Senden Sie eine Private Message an BloodyMess  Schreiben Sie einen Gästebucheintrag für BloodyMess

Beiträge: 604
Registriert: 06.06.2002

erstellt am: 06. Dez. 2005 15:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

mein Problem besteht darin, dass ich einem Datumsfeld nicht '0000-00-00' zuweisen kann.

Versuche über VB .Net auf MySql zuzugreifen und habe schon alles ausprobiert. Date, Datetime, Timestamp! An meinem Connectionstring hängt auch 'Allow Zero Datetime = yes' mit 'true' verhält es sich nicht anders. Der Sql-Connector liegt inder Version 1.0.7 vor. Ich mache in VB keine Typumwandlung und nix. Wenn ich Werte wie '0001-01-01' einfüge gibt es keine Probleme.

Nun hab ich ja heut auch schon den ganzen Tag gelesen und ich zitiere mal aus einem Buch: "... Jeder dieser Typen (Anm.: gemeint sind Tag, Monat,Jahr) hat einen zulässigen Wertebereich und einen "0"-Wert, der benutzt wird, wenn Sie einen wirklich unzulässigen Wert speichern. ... Um Datumsüberprüfungen schnell zu machen, überprüft MySql nur, das der Monat im Bereich 0 bis 12 liegt und der Tag im Bereich 0 bis 31."

Vielleicht erklärt das, warum man keine 0 Werte schreiben kann, aber was macht und wie schreibt man einen "0"-Wert .... puuuuuhh ... 

Ziel soll es sein einen Wert like '0000-00-00' in eine MySql Datenbank zu schreiben, ohne das es eine Exception gibt.

Wenn Ihre noch mehr Infos braucht, dann einfach schreiben. Hier hilft glaub ich alles weiter, da es ein bekanntes Problem ohne eine wirkliche Lösung ist.

Vielen Dank und Grüssle TP

------------------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cartoonhero
Mitglied



Sehen Sie sich das Profil von cartoonhero an!   Senden Sie eine Private Message an cartoonhero  Schreiben Sie einen Gästebucheintrag für cartoonhero

Beiträge: 246
Registriert: 21.04.2004

erstellt am: 06. Dez. 2005 16:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für BloodyMess 10 Unities + Antwort hilfreich

Hallo,

eigentlich sollte es via SQL möglich sein mit:

INSERT INTO test.testdate (id, testtext , datum) VALUES ( 0, 'testtext', '0000-00-00' )

INSERT INTO test.testdate (id, testtext , datum) VALUES ( 0, 'testtext', null )


oder bei Update:

UPDATE test.testdate SET datum = '0000-00-00' WHERE id = 0

UPDATE test.testdate SET datum = null WHERE id = 0


gruß
cartoonhero

[Diese Nachricht wurde von cartoonhero am 06. Dez. 2005 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



1st Level Support (m/w/d) Produkt-Daten-Management (PDM)

Ein dynamisches mittelständisches Softwareunternehmen, welches auf Entwicklung und Vertrieb von Product Data Management (PDM) Software spezialisiert ist. Durch unsere hochqualitativen Lösungen können Unternehmen ihre Produktentwicklungsprozesse optimieren und effizienter gestalten. Wir als engagiertes Team von Experten haben das Ziel durch innovative Softwarelösungen in einer stetig wandelnden digitalen Welt, unsere Kunden mit besten Lösungen zu unterstützen....

Anzeige ansehenHelpdesk
BloodyMess
Mitglied
Applicationingenieur


Sehen Sie sich das Profil von BloodyMess an!   Senden Sie eine Private Message an BloodyMess  Schreiben Sie einen Gästebucheintrag für BloodyMess

Beiträge: 604
Registriert: 06.06.2002

erstellt am: 06. Dez. 2005 17:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ja richtig,

so hab ich die Tabellen auch erstbefüllt und im Prinzip mache ich nun im Code auch nichts anderes.

Anbei mal ein Beispiel, wie es im Code aussieht ...

Code:
Dim TMPDataTable As DataTable = New DataTable
TMPDataAdapter.Fill(TMPDataTable)

TMPDataAdapter.UpdateCommand = _
New MySqlCommand("UPDATE person " & _
"SET InstitutID = ?InstitutID, " & _
"BelehrungsDatum = ?BelehrungsDatum, " & _
"WHERE PersonID = ?PersonID", _
clsMysql.getConnection)

clsMysql.updatePara2DA(TMPDataAdapter, "PersonID", MySqlDbType.Int32.ToString)
clsMysql.updatePara2DA(TMPDataAdapter, "InstitutID", MySqlDbType.Int32.ToString)
clsMysql.updatePara2DA(TMPDataAdapter, "BelehrungsDatum", MySqlDbType.Date.ToString)

TMPDataAdapter.Fill(TMPDataTable)
Dim updateDataRow As DataRow = TMPDataTable.Rows(0)

updateDataRow("PersonID") = .txt_main_laufende_Nummer.Text
updateDataRow("InstitutID") = .cbo_Institut.SelectedIndex + 1
updateDataRow("BelehrungsDatum") = .txt_Unterweisung.Text

TMPDataAdapter.Update(TMPDataTable)
TMPDataAdapter.Dispose()


Habe es mal stark dezimiert. Vom Prinzip sieht es ja wie dein SQL Statement aus - die Wertezuweisungen und Definition der Werte für MySql werden im Nachhinein gemacht.

Das Problem wäre bei diesem Beispiel das 'BelehrungsDatum', wenn man es mit dem Wert '00.00.0000' befüllen würde.

Grüssle TP

------------------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz