login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[vb.net] datum in database inserten

Offline sjemmie - 12/12/2006 14:55 (laatste wijziging 12/12/2006 15:01)
Avatar van sjemmieNieuw lid Ik wil de huidige datum in de database plaatsen

Dim opdracht As New OleDb.OleDbCommand("update tabel set veld1 = " & Date.Today.ToString("dd-MM-yyyy") & ", versie '5.0.0' where metainformatieID = 1", verbinding)

maar ik krijg constant deze datum "3-7-1894" terug, wat moet er anders ?

7 antwoorden

Gesponsorde links
Offline Wijnand - 12/12/2006 15:06
Avatar van Wijnand Moderator set veld1 = GETDATE()

dat kan ook, dan gebruik je de sql functie 
Offline Abbas - 12/12/2006 15:22
Avatar van Abbas Gouden medaille

Crew .NET
Gebruik allereerst al 'Imports'
In je vb-file zet je bovenaan:

  1. Imports System.Data.OleDb

Dan moet je niet elke keer die OleDb voor alles gaan schrijven...
--> verwarrend  

Ook kan je best je query apart in een string zetten:

  1. Dim query As String
  2. query = "UPDATE ..."
  3.  
  4. Dim uitvoeren As New OleDbCommand(query, verbinding)


Als ik zo werk vind ik gemakkelijker fouten terug  

En als ik dit doe krijg ik de juiste datum hoor!
  1. Dim datum As String
  2. datum = Date.Today.ToString("dd-MM-yyyy")
  3. Response.Write(datum)
Offline sjemmie - 12/12/2006 15:35
Avatar van sjemmie Nieuw lid En als ik dit doe krijg ik de juiste datum hoor!
Citaat:
Dim datum As String
datum = Date.Today.ToString("dd-MM-yyyy")
Response.Write(datum)


ik ook, maar ik krijg een totaal andere datum wanneer ik het in de database probeer te krijgen
het gegevenstype van het veld is: Datum/tijd en daarbij is het gevenstype een "Korte datumnotatie" ik krijg een datum van ver in de middeleeuwen, waarom is dat
Offline nemesiskoen - 12/12/2006 15:41 (laatste wijziging 12/12/2006 15:41)
Avatar van nemesiskoen Gouden medaille

PHP expert
Als je het als een string gaat opslaan in een date field ga je problemen krijgen, dat had je zelf toch ook kunnen zien aankomen. Oftewel maak je er een string field van in je database, oftewel cast je niet naar een string, en maak je gebruik van SQL's date functies.
Offline Abbas - 12/12/2006 15:56
Avatar van Abbas Gouden medaille

Crew .NET
voila,

als je het als een string maakt zet je het in een veld van het type string en als het veldtype datum neemt gebruik je de datum functie van sql (zoals wijnand al zei)
Offline zamna - 12/12/2006 17:40
Avatar van zamna HTML beginner Voorbeeld:
  1. Connectie.Open()
  2. Dim strSQL As String = "INSERT INTO tblNieuws (titel, bericht, datum, auteur) VALUES (@titel, @bericht, @datum, @auteur)"
  3. Dim command As New OleDbCommand(strSQL, Connectie)
  4. command.Parameters.AddWithValue("@titel", txtTitel.Text)
  5. command.Parameters.AddWithValue("@bericht", txtBericht.Text)
  6. command.Parameters.AddWithValue("@datum", DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"))
  7. Dim onlinebeheerder As String = User.Identity.Name.ToString()
  8. command.Parameters.AddWithValue("@auteur", onlinebeheerder)
  9. command.ExecuteNonQuery()
Offline sjemmie - 13/12/2006 09:59 (laatste wijziging 14/12/2006 08:34)
Avatar van sjemmie Nieuw lid hoi zamna

Citaat:
Try
verbinding.Open()

Dim versie As String
versie = xsdVersie
Dim datum As String
datum = Date.Today.ToString("dd-MM-yyyy")

Dim strSQL As String = "update tabel set datum = @datum , versie = @versie where metainformatieID = 1"
Dim command As New OleDb.OleDbCommand(strSQL, verbinding)
MessageBox.Show("stap 1")
command.ExecuteNonQuery()

MessageBox.Show("stap 2")

Catch fout As Exception

MessageBox.Show("error")

Finally

verbinding.Close()

End Try


bij mij wordt de command query niet uitgevoerd als ik dit probeer

btw, ik ben een echte beginneling in vb.net


ps.: ik gebruik een Access database

laatmaar
al opgelost

Dim datum As Date
datum = Date.Today.ToString("dd-MM-yyyy")
in de query:
#" & datum & "#
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.21s