Toon posts:

[asp.net]DateTime maximaal 8 characters

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ben bezig met een urenregistratie systeem waar ik datum en tijd voor nodig heb. Heb het systeem al eens gemaakt in php maar bedrijf gaat over naar asp.net.

Nu wil ik een veld met een datum en een tijd in de database. Gebruik hiervoor datetime.now. Als ik deze weergeef staat er netjes 12-12-2005 12:12:12. Kijk ik vervolgens in de database staat er 12-12-2005. Zonder tijd dus. Ik maak gebruik van mssql server 2000 en webmatrix.

Iemand hier ervaring mee?

  • whoami
  • Registratie: December 2000
  • Laatst online: 11:54
Hoe sla je die datum op in je database ? Hoe ziet je query eruit ?

https://fgheysels.github.io/


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 14-05-2024

OZ-Gump

terug van weggeweest

Wat voor type is het veld in de database? En staat er een eventuele weergave op het veld? Welke waarde heeft het veld als je hem uitleest?

Kortom: kun je ons wat meer info geven?

whoami weer net eerder! ;)

[ Voor 11% gewijzigd door OZ-Gump op 19-01-2005 10:50 ]

My personal website


  • J2pc
  • Registratie: Oktober 2002
  • Niet online

J2pc

UT Tux Edition

hoe prak je 'm in de database (date.toshortdatestring misschien?)?
Dan geeft ie i.d.d. alleen de datum :)

Probeer anders date.tostring(dd-MM-yyyy hh:mm:ss)

Kijk anders ook 's in de MSDN-library over het formatten van date-time strings

Suc6

P.S.
Verschil tussen MM en mm =
MM = maand
mm = minuten

[ Voor 15% gewijzigd door J2pc op 19-01-2005 10:50 ]

"The computer is incredibly fast, accurate, and stupid. Man is unbelievably slow, inaccurate, and brilliant. The marriage of the two is a challenge and opportunity beyond imagination." © Stuart G. Walesh


  • sig69
  • Registratie: Mei 2002
  • Laatst online: 13:34
Dat is normaal. Als ik in enterprise managaer in mijn db kijk staat er ook overal dd-mm-jjjj. De onderliggende data is wel gewoon wat je wil hebben (bij mij wel in ieder geval)

Roomba E5 te koop


  • whoami
  • Registratie: December 2000
  • Laatst online: 11:54
J2pc schreef op woensdag 19 januari 2005 @ 10:50:
hoe prak je 'm in de database (date.toshortdatestring misschien?)?
Dan geeft ie i.d.d. alleen de datum :)

Probeer anders date.tostring(dd-MM-yyyy hh:mm:ss)
Je gaat toch geen datetime als een string in je database gaan proppen; dat is handig :o

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 11:54
sig69 schreef op woensdag 19 januari 2005 @ 10:51:
Dat is normaal. Als ik in enterprise managaer in mijn db kijk staat er ook overal dd-mm-jjjj. De onderliggende data is wel gewoon wat je wil hebben (bij mij wel in ieder geval)
Bij mij anders niet hoor. :)

https://fgheysels.github.io/


  • J2pc
  • Registratie: Oktober 2002
  • Niet online

J2pc

UT Tux Edition

whoami schreef op woensdag 19 januari 2005 @ 10:52:
[...]

Je gaat toch geen datetime als een string in je database gaan proppen; dat is handig :o
neuh, ik geef 'm alleen als een string door :+

(wat denk jij dan dat je er via een insert/update query ingooit? Volgens mij geef je namelijk nog steeds een query-string door.)

[ Voor 56% gewijzigd door J2pc op 19-01-2005 10:55 ]

"The computer is incredibly fast, accurate, and stupid. Man is unbelievably slow, inaccurate, and brilliant. The marriage of the two is a challenge and opportunity beyond imagination." © Stuart G. Walesh


  • whoami
  • Registratie: December 2000
  • Laatst online: 11:54
J2pc schreef op woensdag 19 januari 2005 @ 10:54:

(wat denk jij dan dat je er via een insert/update query ingooit?)
Een DateTime; en een DateTime in SQL Server is een combinatie van 2 getallen.

https://fgheysels.github.io/


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 14-05-2024

OZ-Gump

terug van weggeweest

(wat denk jij dan dat je er via een insert/update query ingooit?)
Als je parameterized queries gebruikt wordt het ding gewoon netjes als date/time doorgegeven. Als je aan een parameterized query een string door gaat geven, zou de conversie terug naar een datum wel eens problemen op kunnen leveren.

edit:
Volgens mij gebruikt j2pc geen parameterized queries of stored procedures, maar stelt hij zelf een insertquery samen die hij daarna naar de database stuurt.

[ Voor 23% gewijzigd door OZ-Gump op 19-01-2005 10:59 ]

My personal website


  • Equator
  • Registratie: April 2001
  • Laatst online: 12:02

Equator

Crew Council

🦺#Rodekruis #whisky #barista

En als het dateformat op de SQL server gelijk is aan het format waarmee hij die datum en tijd ddorstuurd moet dat niets uitmaken..

  • J2pc
  • Registratie: Oktober 2002
  • Niet online

J2pc

UT Tux Edition

maar zo werken mijn queries niet :+
(en 't heeft bij mij nog nooit problemen gegeven)

Query-string opmaken in applicatie
Query-string overgooien naar db class
db-class gaat 'm uitvoeren op de db
works like a charm for me :)

/edit
Precies wat OZ-Gump zegt dus

[ Voor 11% gewijzigd door J2pc op 19-01-2005 11:02 ]

"The computer is incredibly fast, accurate, and stupid. Man is unbelievably slow, inaccurate, and brilliant. The marriage of the two is a challenge and opportunity beyond imagination." © Stuart G. Walesh


  • whoami
  • Registratie: December 2000
  • Laatst online: 11:54
J2pc schreef op woensdag 19 januari 2005 @ 11:01:
maar zo werken mijn queries niet :+
(en 't heeft bij mij nog nooit problemen gegeven)
Jij hebt dus nog nooit grote systemen gemaakt. (Of veilige systemen).
Precies wat OZ-Gump zegt dus
Tja, string concatenatie dus....
De nadelen zijn legio: niet veilig, problemen met conversies van datums, zelf met quotes gaan piegelen, etc....

[ Voor 28% gewijzigd door whoami op 19-01-2005 11:06 ]

https://fgheysels.github.io/


  • Equator
  • Registratie: April 2001
  • Laatst online: 12:02

Equator

Crew Council

🦺#Rodekruis #whisky #barista

Welk type veld verwacht de database voor je datum en tijd kolom :? (moet DateTime zijn)

  • J2pc
  • Registratie: Oktober 2002
  • Niet online

J2pc

UT Tux Edition

* J2pc = student, dus nee, nog nooit grote systemen gemaakt.

halverwege TI studie. Heb nog een hoop te leren :o
CyberJ schreef op woensdag 19 januari 2005 @ 11:09:
Welk type veld verwacht de database voor je datum en tijd kolom :? (moet DateTime zijn)
als je 't tegen mij hebt (ik vind dat we terug moeten naar de TS, maargoe)
smalldatetime is goed genoeg bij mij ;)

[ Voor 58% gewijzigd door J2pc op 19-01-2005 11:12 ]

"The computer is incredibly fast, accurate, and stupid. Man is unbelievably slow, inaccurate, and brilliant. The marriage of the two is a challenge and opportunity beyond imagination." © Stuart G. Walesh


  • sig69
  • Registratie: Mei 2002
  • Laatst online: 13:34
Als je datetime.now naar je db stuurt, waarom dan niet gewoon de sqlserver functie GETDATE() gebruiken? Heb je ook geen last meer van datum - string - datum conversies.

Roomba E5 te koop


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
als je nou eens een query als het volgende schrijft

C#:
1
2
3
4
5
6
7
string insert = "Insert Into MyTable( myDate ) values( @myDate )";

SqlCommand command = new SqlCommand( insert ,connection );

command.Parameters.Add( new SqlParameter( "@myDate", DateTime.Now ) );

command.Execute();


Dan hoef je helemaal geen rekening te houden met het data type. ( er van uitgegaan dat het veld myDate van het DateTime type is ).

Eventueel zou je nog mee kunnen geven wat voor type de paramater moet zijn en de size van de parameter. Dan wordt de rest afgehandeld door het .net framework.

[ Voor 19% gewijzigd door Woy op 19-01-2005 11:23 ]

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • sig69
  • Registratie: Mei 2002
  • Laatst online: 13:34
Schrijf het dan goed. Volgens mij heeft SqlCommand geen Execute() method.

Edit: ExecuteNonQuery() inderdaad

[ Voor 21% gewijzigd door sig69 op 19-01-2005 11:32 ]

Roomba E5 te koop


  • J2pc
  • Registratie: Oktober 2002
  • Niet online

J2pc

UT Tux Edition

hmm, dat ga ik onthouden voor m'n volgende query's en eventuele te herschrijven query's.
Weer wat geleerd ;)

(zal wel ExecuteNonQuery() zijn. (vb.net))

"The computer is incredibly fast, accurate, and stupid. Man is unbelievably slow, inaccurate, and brilliant. The marriage of the two is a challenge and opportunity beyond imagination." © Stuart G. Walesh


Verwijderd

Topicstarter
Database verwacht een DateTime ( 8 ) veld. Waarschijnlijk moet die 8 dus veranderd worden maar dat is via webmatrix niet mogelijk. Query is als volgt:

ASP:
1
2
3
4
Dim insert_tijd As String="insert into tijd(begintijd) VALUES (@start);SELECT @@identity as strTijdnr"
        Dim tijd_result As New SqlCommand(insert_tijd, myConnection)
        tijd_result.parameters.add("@start", DateTime.Now)
        Dim strTijdnr As Integer=(tijd_result.executeScalar())

[ Voor 4% gewijzigd door Verwijderd op 19-01-2005 11:38 ]


  • sig69
  • Registratie: Mei 2002
  • Laatst online: 13:34
DateTime 8 is goed hoor. Uit mijn DB:
SQL:
1
2
3
4
SELECT
    createTime 
FROM 
    Contract
Levert dit op
code:
1
2004-07-27 17:02:42.280

Dit wordt in enterprise manager weergegeven als 27-7-2004

Roomba E5 te koop


Verwijderd

Topicstarter
Mensen mijn excuses, keek alleen in de database en had nog geen select uitgevoerd.
nogmaals excuses voor mijn luiheid 8)7

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 13:34
Had ik dus eigenlijk al een soort gezegd:
sig69 schreef op woensdag 19 januari 2005 @ 10:51:
Dat is normaal. Als ik in enterprise manager in mijn db kijk staat er ook overal dd-mm-jjjj. De onderliggende data is wel gewoon wat je wil hebben (bij mij wel in ieder geval)

Roomba E5 te koop


  • whoami
  • Registratie: December 2000
  • Laatst online: 11:54
J2pc schreef op woensdag 19 januari 2005 @ 11:30:
hmm, dat ga ik onthouden voor m'n volgende query's en eventuele te herschrijven query's.
Weer wat geleerd ;)

(zal wel ExecuteNonQuery() zijn. (vb.net))
Zie ook een stukje in de P&W FAQ over parametrized queries; je vind het onder het SQL - stukje. :)

https://fgheysels.github.io/


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
sig69 schreef op woensdag 19 januari 2005 @ 11:26:
Schrijf het dan goed. Volgens mij heeft SqlCommand geen Execute() method.

Edit: ExecuteNonQuery() inderdaad
Ja ik ga niet alles wat ik hier uit mijn hoofd type controleren. Het idee lijkt me duidelijk en daar gaat het om.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”

Pagina: 1