Archief - ASP/ mySQL/ vb.net: vraagje omzetten datums

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

EnZyMeX

Legacy Member
Hoi ik ben bezig met een webaplicatie voor een bedrijf !
Op de website kan je een offerte aanvragen en er worden enkele gegevens opgevragen (naam , bedrijf , email , adres , DATUM, etc etc)

Nu vraagt de applicatie de datum van vandaag op aan de server en slaagt deze op in de mysqlDatabase !

Tot hier geen probleem !

Dan heb ik een vb.net programma ontwikkelt die deze gegevens uit de database leest en aan de hand daarvan de offerte berekent die dan kan afgedrukt worden etc etc.

Nu het probleem is dat ik de datum opslaag in de database wanneer de offerte behandeld werd , dus ik vraag de tijd op van PC waarop de vb applicatie draait.

Deze datum word opgeslagen in de database maar verkeerd 25-08-04 word opgeslagen als 14-01-1900

Ik weet dat het te maken heeft dat mySQL de datums in het amerikaans formaat bekijkt.

De vraag is hoe kan ik vanuit vb.net de datum van de pc omzetten naar amerikaans formaat ???
Omdat ik de datum gebruik als date object om mee verder te kunnen rekenen kan ik deze niet omzetten naar een string !

EnZyMeX

Legacy Member
ru`orez zei:
F1 IN VB.NET en format strings bekijken...
ik zeg toch ik gebruik geen string , ik gebruik een date object !
ma toch merci da ge wilt replyen :help:
btw ik weet heus de helpfunctie wel zitten

orez

Legacy Member
Een string format is daarom ni noodzakelijk een string eh ...

Ge kunt altijd CType(Format(blabla, blabla), Integer/Date/...) Whatever doen eeh :) Ge kunt alles altijd converten van type

DarkBone

Legacy Member
Ge kunt toch perfect en string verkrijgen van uw Date object zonder dat ge dat object verliest.. tbh snap ik he probleem niet ?

EnZyMeX

Legacy Member
Ik zal het probleem wel verkeerd verwoord hebben in ieder kzalt proberen wa te verduidelijken !

ik zit me ne datum

dim datum as date
datum = now.date

Nu ga ik die in mene database steken

strSQL = "INSERT INTO tblStartWerkVergadering(id,project,datum,locatie,user_created,date_created,EHBO,Nooduitgang,BrandAlarm,Vuurvergunning,GevaarlijkWerk,Andere,gebruikPBM)VALUES (" & max + 1 & ",'" & projectID & "'," & datum & ",'" & locatie & "','" & strUserName & "'," & CreatedDate & ",'" & EHBO & "','" & nooduitgang & "','" & brandalarm & "','" & Vuurvergunning & "','" & GevaarlijkWerk & "','" & andere & "','" & gebruikPBM & "')"

dim objCommand as sqlCommand = new Sqlcommand(strSQL,concafcaSQL)
objCommand.executenonquery

voila
ik ga in men database kijken naar het resultaat
en daar stond datum = 10/9/1900
Terwijl den datum van vandaag = 25/08/2004

Da komt omdat die SQL server mijn datum aanpakt als amerikaans formaat YY/MM/DD
Terwijl mijne datum DD/MM/YY

En mijn vraag is hoe kan ik da omzetten van DD/MM/YYYY naar YY/MM/DD

Wat ik zelf geprobeerd heb is :
De datum om te zetten naar een string
Dan met substring gewerkt en dan staat datum zo in men string : YY/MM/DD (2004/08/25)

En als ge dan die string terug omzet naar een date object word hij terug 25/08/2004
dus dat werkt niet :)

Nu duidelijker of niet ?
Dus men datum moet zo komen 2004/08/25

DarkBone

Legacy Member
Da haddek al zo min of meer door, maar mijn punt is net ... "Waarom zou je die String opeens willen omvormen naar een Date object? Je kan toch gewoon verderwerken op je reeds bestaande Date object met de naam 'datum' ?

Zoiets ongeveer:

Dim datum As Date
Dim strDatum As String
datum = Now.Date

strDatum = datum.ToString();

// hier vorm je die string om naar ons formaat en voeg je die in de SQL
// en nu kun je toch gewoon weer je datum-object gebruiken, die i och niet verloren ??



Trouwens, een String kun je wel omzetten naar Date object:
http://www.dotnetspider.com/Technology/KBPages/156.aspx

gewoon de static Parse() method aanroepen

dJeez

Legacy Member
De datum moet steeds de systeemdatum zijn? Gebruik dan NOW() bij je insert.

Als je dat niet wil dan zal je ervoor moeten zorgen dat je zelf de datum converteert naar een string in YYYY-MM-DD formaat (GEEN slashes dus maar mintekens als scheidingsteken) als je de insert/update in MySQL wil doen, en omgekeerd de string omzetten naar een dat object als je selects uitvoert. Nu ja, in hoeverre dat al dan niet automatisch te realiseren valt met .Net zou 'k niet durven zeggen, omdat ik 't nog niet gebruikt heb (dat zal binnen nu en 2 weken wellicht/hopelijk - als 'k er wat tijd voor vrijmaak tijdens mijn verlof - wijzigen :p).

Squall-sX-

Legacy Member
Een datum omzetten naar een String in een bepaald formaat is zo moeilijk niet. Gewoon
format(date-mobject, "dd-MM-yy")
Dit returned een String.
Om dit terug te zetten zou ik de parse functie proberen. .NET werkt geloof ik
trouwens ook met yy-MM-dd. Als dit niet het geval is kun je nog altijd met
substrings alles op de juiste plaats zetten.

Die rechtstreekse date-objecten in je SQL-string vind ik trouwens niet mooi
gecodeerd. Ben je trouwens wel zeker dat hij alleen maar een datum meegeeft daar?
Een date-object bevat namelijk ook een tijd. Misschien dat hij daardoor verkeerde
dingen opslaat of zo.

Tipje trouwens: Als je niet zeker bent dat je SQL-string juist is, laat die dan ff zien in
een msgbox voor je verdergaat. Zo is het makkelijker om te zien wat er juist fout is.

EnZyMeX

Legacy Member
Ja men SQL string is juist want als ik em in debug mode copier en execute in sql query analazyer doet ie het :/

Maar bedankt voor te antwoorden ik zal men plan nu wel kunnen trekken thx voor info ;)

EnZyMeX

Legacy Member
En ja ik ben zeker dat ie daar alleen de datum doorgeeft
Want je kan date.shortdate of zo iets doen en dan geeft hij alleen de datum anders zou hij de tijd idd ook meegeven !

maar het is me gelukt dus merci allemaal
wel veel omwegen maja het werkt :applause: merci :niceone:

m3rlin

Legacy Member
Squall-sX- zei:
Een datum omzetten naar een String in een bepaald formaat is zo moeilijk niet. Gewoon
format(date-mobject, "dd-MM-yy")
Dit returned een String.
Om dit terug te zetten zou ik de parse functie proberen. .NET
...


.NET werkt uiteraard met de datumnotatie van uw systeeminstellingen

oplossing:

Dim x As Date = Now()
Dim Ndatum As Date = x.Year & "/" & x.Month & "/" & x.Day
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan