Programma Delphi 2006 prof. voor DotNet.
In de SQLserver heb ik in een tabel een kolom voor de tijd; datatype 'DateTime'.
In die kolom wordt de tijd ingevuld als: hh:mm:ss.
In mijn 'Windows Forms Application' gebruik ik de componenten zoals genoemd op tabblad Data Components, en DataGrid van tabblad Data Controls, van het Tool Palette.
In de DataGrid wordt de kolom voor de tijd, afgebeeld met datum en tijd, bijv. als volgt: 30-12-1899 12:01:10.
Ik wil echter alleen de tijd zien, dus: 12:01:10.
Hoe krijg ik dit voor elkaar?
Hetzelfde probleem (zie 23 mei 2006) had ik met VCL voor DotNet. Daarvoor kreeg ik de goed werkende oplossing:
"Voeg aan je TAdoDataSet persistent fields toe. Selecteer je veld van je datum/tijd die je wilt wijzigen en ga naar de events.
Je hebt hier een OnGetText en OnSetText event."
Voor de WinForms-situatie heb ik het opgelost in de SQL-string, als volgt:
Dit vind ik echter niet fraai. Temeer omdat deze string nog niet af is. Er moet nog iets in zodat hour, minute en second altijd met twee tekens worden getoond. Dus bijv. 08:13: 02 en niet 8:13:2.CommStr2 = 'SELECT DATUM, '+
'CAST(DatePart(hour, TIJD) AS VarChar(2)) + '':'' + '+
'CAST(DatePart(minute, TIJD) AS VarChar(2)) + '':'' + '+
'CAST(DatePart(second, TIJD) AS VarChar(2)) AS STARTTIJD, '+
'CAST(DatePart(hour, DUUR) AS VarChar(2)) + '':'' + '+
'CAST(DatePart(minute, DUUR) AS VarChar(2)) + '':'' + '+
'CAST(DatePart(second, DUUR) AS VarChar(2)) AS SPREEKTIJD, '+
'bedrag, gekozennr '+
'FROM BEL1601 ORDER BY DATUM';
Ik heb gezocht naar een oplossing naar analogie van die voor VCl voor DotNet. Maar nog niet gevonden. Wie kan mij een oplossing geven.
Bookmarks