Heren,
Mijn klomp is gebroken.
Ik heb een situatie waarin ik een probleem heb met de datetime conversie van mijn OleDb Driver.
probleemstelling:
Ik denk dat de code vrij self-explaining is, maar bij deze dus wat ik constateer:
1: ik haal een record op uit de database, (op primairy key)
2: ik pak de datetime veld uit die tabel (die in mijn testcase gewoon 2 kolommen heeft)
3: ik selecteer op dezelfde database aan de hand van de zojuist opgehaalde datetime.
4: ik krijg geen resultaten terug (of andere)
details:
Mijn eerst opgehaalde datum is in mijn geval "2010-1-1 00:00:00:106" (waarbij 106 dus miliseconden zijn)
Wanneer ik nu de tweede query uitvoer krijg ik alle records terug die in mijn database de waarde "2010-1-1 00:00:00:103" hebben.
Ditzelfde heb ik wanneer ik een query uitvoer met als waarde 103, en ik alle records terugkrijg waarbij de datetime 100 miliseconden heeft.
vraag:
Kan iemand dit verklaren, en beter, een oplossing geven? ik wordt er helemaal gek van
Mijn klomp is gebroken.
Ik heb een situatie waarin ik een probleem heb met de datetime conversie van mijn OleDb Driver.
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| OleDbConnection conn = new OleDbConnection(connectionstring); conn.Open(); DateTime datetime = DateTime.Now; OleDbCommand command = new OleDbCommand("SELECT * FROM tabel WHERE id = 1", conn); OleDbDataReader reader = command.ExecuteReader(); while (reader.Read()) datetime = (DateTime)reader["datumtijd"]; reader.Close(); OleDbCommand command2 = new OleDbCommand("SELECT * FROM tabel WHERE datumtijd = ?", conn); command2.Parameters.Add(new OleDbParameter("datumtijd", datetime)); OleDbDataReader reader2 = command2.ExecuteReader(); bool found = false; while (reader2.Read()) { DateTime foundDatetime = (DateTime)reader2["datumtijd"]; if (foundDatetime == datetime) found = true; } reader2.Close(); if (!found) MessageBox.Show("errorrtty"); |
probleemstelling:
Ik denk dat de code vrij self-explaining is, maar bij deze dus wat ik constateer:
1: ik haal een record op uit de database, (op primairy key)
2: ik pak de datetime veld uit die tabel (die in mijn testcase gewoon 2 kolommen heeft)
3: ik selecteer op dezelfde database aan de hand van de zojuist opgehaalde datetime.
4: ik krijg geen resultaten terug (of andere)
details:
Mijn eerst opgehaalde datum is in mijn geval "2010-1-1 00:00:00:106" (waarbij 106 dus miliseconden zijn)
Wanneer ik nu de tweede query uitvoer krijg ik alle records terug die in mijn database de waarde "2010-1-1 00:00:00:103" hebben.
Ditzelfde heb ik wanneer ik een query uitvoer met als waarde 103, en ik alle records terugkrijg waarbij de datetime 100 miliseconden heeft.
vraag:
Kan iemand dit verklaren, en beter, een oplossing geven? ik wordt er helemaal gek van
[ Voor 3% gewijzigd door BasieP op 08-02-2010 16:07 ]
This message was sent on 100% recyclable electrons.