[C#] MSSQL DateTime field en Windows.Forms.DateTimePicker

Pagina: 1
Acties:

  • Sebazztiaan
  • Registratie: Februari 2002
  • Laatst online: 21-04 16:53
Mijn stagecollega en ik zitten met een probleem:

We hebben een tabel in MSSQL in het volgende formaat:
ID: bigint
userID: bigint (FK)
Date : DateTime
... en meer

Het is een log tabel, dus als een gebruiker inlogt worden zijn gegevens heerlijk goed gelogd. Door de string te parsen naar het formaat van MSSQL wil, dus op deze manier:

C#:
1
wUserLog.Time.ToString("MM'/'dd'/'yyyy HH':'mm':'ss")


Dus we kunnen in onze applicatie heerlijk alle userlogjes zien. Maar de viewer heeft ook een filter, waarmee je bijvoorbeeld tussen 2 datums kunt zoeken. Alleen nu onderstent de Windows.Forms.DateTimePicker geen formatting zoals DateTime dat wel doet. Hij selecteerd puur de string.

Om te vergelijken in de db moet wel het goede formaat worden aangeleverd. Als ik dit probeer, gaat hij alsnog over de zeik...

Dit is de query die we willen uitvoeren, plus nog wat meuk van de onze app erbij, daar moet je dan maar even overheen lezen...

C#:
1
WorkQuery wq = new WorkQuery(_wl.Identity, new QueryObject("select * from tblTaskLog WHERE DateTime >= '" + this.dateTimePicker1.Text + "' AND DateTime <= '" + this.dateTimePicker2.Text + "' AND Task = '" + this.comboBox2.SelectedItem.ToString() + "'"), "VIEWTASKLOG");


Wie biedt soelaas....

[ Voor 24% gewijzigd door Sebazztiaan op 22-02-2005 12:14 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 10:24
Ik snap geen hol van wat je probeert te zeggen, maar ik denk dat jouw probleem zich schuilt in het feit dat je geen parametrized queries gebruikt.

edit:

Ik zie nu die code; dat is het probleem dus. Check de P&W FAQ eens; onder het stukje 'SQL' vind je een stukje over parametrized queries in .NET


Je moet dus niet de text van de datepicker gebruiken, maar de Date property oid.
En verder, kijk eens naar parametrized queries.

[ Voor 56% gewijzigd door whoami op 22-02-2005 12:16 ]

https://fgheysels.github.io/


  • Sebazztiaan
  • Registratie: Februari 2002
  • Laatst online: 21-04 16:53
Ja klopt, die is van DateTime type 8) was alleen wel een hele ochtend zoeken, waarom die query constant failde, maar die paremterized queries zien er trouwens wel sweet uit :)

En er was dus geen .Date propertie, het was de .Value...

[ Voor 15% gewijzigd door Sebazztiaan op 22-02-2005 12:23 ]


  • Equator
  • Registratie: April 2001
  • Laatst online: 10:00

Equator

Crew Council

🦺#Rodekruis #whisky #barista

Iets zegt me dat wiebenik van parameterized queries houdt :P :+

  • Sebazztiaan
  • Registratie: Februari 2002
  • Laatst online: 21-04 16:53
Volgens mij had hij ook dat stukje in de FAQ geschreven... of niet whoami?

  • whoami
  • Registratie: December 2000
  • Laatst online: 10:24
CyberJ schreef op dinsdag 22 februari 2005 @ 12:23:
Iets zegt me dat wiebenik van parameterized queries houdt :P :+
Dat komt vanzelf als je ze eens gebruikt....

Het valt me op dat heel wat mensen die nu stage lopen dat niet kennen; blijkbaar besteed men er in school geen aandacht aan ofzo.

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 10:24
Sebazztiaan schreef op dinsdag 22 februari 2005 @ 12:21:

En er was dus geen .Date propertie, het was de .Value...
Value.Date
:P

https://fgheysels.github.io/


  • Sebazztiaan
  • Registratie: Februari 2002
  • Laatst online: 21-04 16:53
whoami schreef op dinsdag 22 februari 2005 @ 12:43:
[...]


Dat komt vanzelf als je ze eens gebruikt....

Het valt me op dat heel wat mensen die nu stage lopen dat niet kennen; blijkbaar besteed men er in school geen aandacht aan ofzo.
Zal je eens beter vertellen, school geeft helemaal geen aandacht aan C#, dat hebben mijn stagecollega en ik helemaal zelf uitgezocht, en ons daarna ook de taal meester moeten maken....

Dus hulp van school, forget it....

  • whoami
  • Registratie: December 2000
  • Laatst online: 10:24
Sebazztiaan schreef op woensdag 23 februari 2005 @ 09:18:
[...]


Zal je eens beter vertellen, school geeft helemaal geen aandacht aan C#, dat hebben mijn stagecollega en ik helemaal zelf uitgezocht, en ons daarna ook de taal meester moeten maken....
Ik had het niet over C#, ik had het over 'parametrized queries'. Dat is niet iets dat specifiek is van .NET of C#; maar iets dat in vrijwel iedere taal ondersteunt wordt.
Dat je school geen aandacht besteedt aan C# of .NET is geen issue, aangezien de taak van de school is om jou te leren programmeren en te leren om software te ontwikkelen. De taal die daarvoor gebruikt wordt doet er niet toe, je moet niet C# leren, maar je moet leren hoe software ontwikkeld wordt.
Als de school zich enkel op C# zou toespitsen, en niet bezig zou zijn met de 'achterliggende principes' van software ontwikkeling, dan heb je een waardeloze opleiding. Wie zegt er nl. dat jij later in taal X of taal Y gaat werken? Wie zegt dat je binnen 15 jaar nog in taal X of taal Y werkt ?
Dus hulp van school, forget it....
Welcome in the real world.
Je zult in je leven nog veel dingen zelf moeten uitzoeken en je dingen meester maken.

[ Voor 10% gewijzigd door whoami op 23-02-2005 09:23 ]

https://fgheysels.github.io/

Pagina: 1