Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

[asp.net] datum in database krijgen

sjemmie
8 antwoorden
  • kan iemand mij uitleggen waarom er steeds een datum van ver in de middeleeuwen wordt ingevoerd,4-7-1894, in de ACCESS database door deze code ?

    [code:1:e1ebbfd9e6] Private Sub _cmdNav_3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _cmdNav_3.Click

    Dim verbindingsString As String = "Provider = Microsoft.Jet.OLEDB.4.0;" & "Data Source=C:\testdataset 5.0.0.mdb;"

    Dim verbinding As New OleDb.OleDbConnection(verbindingsString)

    Try

    verbinding.Open()
    'Dim tmp As Date
    ' Dim datum As String
    'Dim datum As New Date
    'tmp = Date.Today.ToString("dd-MM-yy")
    Dim datum As String
    datum = Date.Today.ToString("dd-MM-yy")

    Dim opdracht As New OleDb.OleDbCommand("update tabel set datum = " & datum & " , versie = '5.0.0' where id = 1", verbinding)
    MessageBox.Show("stap 1")
    opdracht.ExecuteNonQuery()
    MessageBox.Show("stap 2")

    Catch fout As Exception

    MessageBox.Show("error")

    Finally

    verbinding.Close()

    End Try

    End Sub[/code:1:e1ebbfd9e6]
  • 1) De middeleeuwen waren in 1894 allang voorbij ;)
    2) Wat voor type is die "datum" kolom? Als dat een datum/tijd type is, zou ik er een string type van maken, of (en dat is beter): gewoon een object van het type "Date" in opslaan…
  • het is idd een datum/tijd type

    dus
    Dim datum As String
    wijzigen in
    Dim datum As Date

    ?

    ik ben nog een leek in asp.net
  • Ja, en dan die hele "ToString" natuurlijk weghalen…

    Je kan dan net zo goed heel die variabele "datum" weghalen en in de query meteen "DateTime.Now" zetten (ipv datum) zodat de huidige tijd ingevoerd wordt in de database.

    Overigens is het handig om van de query zelf (de SQL code dus) een aparte variabele te maken, dan kun je ook zien wat er nu eigenlijk in de database terecht gaat komen als je gaat debuggen…
  • Als je een veld van het type datum/tijd in je Access tabel wil vullen/wijzigen, moet je in de query de waarde tussen hekjes zetten.
    Dus[code:1:674e505941]Dim opdracht As New OleDb.OleDbCommand("update tabel set datum = #" & datum & "# , versie = '5.0.0' where id = 1", verbinding) [/code:1:674e505941]En dan kun je de variabele datum gewoon als string declareren.
  • dank u allen!!
    #" & datum & "# werkte uiteindelijk
  • nog een vraag, ik heb een veld 'versie' in de database, de datatype is tekst.
    in een bestand staat de "public const xsdVersie as string" voor deze versie, met waarde '5.0.0'

    maar, wanneer ik ipv '5.0.0' gewoon > #" & xsdVersie & "# in de query invoer, dan krijg ik het volgende in de database te zien: 5:00:00
    wat moet er hier anders ?
  • [quote:f9a2c63010="sjemmie"]nog een vraag, ik heb een veld 'versie' in de database, de datatype is tekst.
    in een bestand staat de "public const xsdVersie as string" voor deze versie, met waarde '5.0.0'

    maar, wanneer ik ipv '5.0.0' gewoon > #" & xsdVersie & "# in de query invoer, dan krijg ik het volgende in de database te zien: 5:00:00
    wat moet er hier anders ?[/quote:f9a2c63010]
    De hekjes geven aan dat de waarde als datum/tijd moet worden geïnterpreteerd, zodat Access (of de Jet-engine) de waarde juist in de database zet. Het is voor string variabelen dus niet nodig om daar # omheen te zetten. Wat er bij jou dus gebeurt, is dat de Jet-engine de waarde 5.0.0 vertaalt naar een tijd, dus 5:00:00.
    Je kan dus gewoon [code:1:f9a2c63010]'" & xsdVersie & "'[/code:1:f9a2c63010] gebruiken, met enkele quotes ( ' ) in plaats van hekjes ( # )

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.