Toon posts:

[C#] Datumnotatieafbeelding eindigt voordat de gehele invoer

Pagina: 1
Acties:
  • 517 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik lees middels een excelsheet wat gegevens in in een database.
Het inlezen loopt echter stuk op de datum notatie.
bij een datum als 12-12-2005 gaat het goed, maar bij 1-1-2005 krijg ik de melding:
Datumnotatieafbeelding eindigt voordat de gehele invoerstring is geconverteerd.

ik heb de datumnotatie in excel aangepast, zodat er 01-01-2005 komt te staan,
maar voordat de gegevens de database in worden geplaatst heb ik met een breakpoint geconstateerd dat deze weer op1-1-2005 is geplaatst.
Hoe kan ik ervoor zorgen dat deze datum toch ingevoerd kan worden?

Hieronder de dataset die wordt aangemaakt en later wordt ingevoerd in de database.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
private DataSet MaakDataSet(string locatie)
        {   
            DataSet ds = new DataSet();
            try
            {
                string strConn;
                strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +
                    "Data Source="+locatie+";"+
                    "Extended Properties=Excel 8.0;";
                OleDbConnection conn = new OleDbConnection(strConn);
                conn.Open();
                OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT [Gebruiker_id],[Datum],[Minuten] FROM [Blad1$]", strConn);
                myCommand.Fill(ds); 
                conn.Close();
                return ds;      
            }
            catch (Exception e)
            {
                l_melding.Text = e.Message;
                return ds;
            }
        }

  • CaptBiele
  • Registratie: Juni 2002
  • Laatst online: 27-08-2021

CaptBiele

No Worries!

je kan of zorgen dat de datumnotatie in excel altijd hetzelfde is, maar dat heb je al geprobeerd.. jammer dat dat niet werkt.

verder lijkt het me het verstandigst om hier een aparte functie voor te schrijven. Deze controleert de format van de invoer datum, en converteert deze eventueel naar de format die jij in je database gebruikt.

Verwijderd

Topicstarter
CaptBiele schreef op donderdag 31 maart 2005 @ 09:26:
je kan of zorgen dat de datumnotatie in excel altijd hetzelfde is, maar dat heb je al geprobeerd.. jammer dat dat niet werkt.

verder lijkt het me het verstandigst om hier een aparte functie voor te schrijven. Deze controleert de format van de invoer datum, en converteert deze eventueel naar de format die jij in je database gebruikt.
De datum zoals ik hem invoer in excel is : 03-02-2005
De datum zoals deze in .net staat is : 2/3/2005

Heb gebruik gemaakt van cultureinfo, maar dat geeft ook geen oplossing
code:
1
2
IFormatProvider culture = 
    new System.Globalization.CultureInfo("nl-NL", true);

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 08:44

gorgi_19

Kruimeltjes zijn weer op :9

En wat doe je met die IFormatProvider verder?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
gorgi_19 schreef op donderdag 31 maart 2005 @ 09:37:
En wat doe je met die IFormatProvider verder?
Ik heb de waarde geconverteerd naar DateTime en daaraan hang ik het format.

Wat ik nu probeer is het volgende, weet niet of dit een nette oplossing is (vind zelf eigenlijk van niet)

code:
1
2
3
4
string[] datum = ds.Tables[0].Rows[i][1].ToString().Split('-');
                                string dag   = datum[0].ToString().PadLeft(2,'0');
                                string maand = datum[1].ToString().PadLeft(2,'0');
                                string jaar  = datum[2].ToString();