Avatar billede dm0108 Nybegynder
27. marts 2005 - 09:52 Der er 10 kommentarer og
1 løsning

konvertering af data fra real til Datetime.

Jeg skal flytte data fra et felt i en tabel til et felt i en anden tabel, i samme database. Det er en dato som i det ene felt har type real, og i den anden tabel har det typen datetime.
Jeg gør det på følgende måde.
    Dim i As Integer
        For i = 0 To resultat.Tables(0).Rows.Count() - 1
            'Dim idnr As Integer = resultat.Tables(0).Rows(0).Item(0)
            'Dim em As String = resultat.Tables(0).Rows(0).Item(1)
            'Dim rapdate As Single = resultat.Tables(0).Rows(0).Item(2)
            'Dim rekvi As String = resultat.Tables(0).Rows(0).Item(3)
            Dim opfcom As New OleDbCommand
            opfcom.Connection = overfør
            'opfcom.CommandText = "update metadb.me_dokumenter set titel = '" & em & "', prod_dato =" & rapdate & ", rekvirent = '" & rekvi & "' where dok_id = " & idnr & ""
            opfcom.CommandText = "update metadb.me_dokumenter set titel = '" & resultat.Tables(0).Rows(0).Item(1) & "', prod_dato =" & resultat.Tables(0).Rows(0).Item(2) & ", rekvirent = '" & resultat.Tables(0).Rows(0).Item(3) & "' where dok_id = " & resultat.Tables(0).Rows(0).Item(0) & ""
            opfcom.ExecuteNonQuery()
        Next

Problemet er at dato som er 1977 i real feltet bliver til 01-06-1905 i date time feltet.

Hvordan får jeg det konverteret.
Avatar billede arne_v Ekspert
27. marts 2005 - 12:03 #1
Du skal vel have formateret den tids streng korrekt.

Eller undgå hele problem stillingen ved at bruge parameters.
Avatar billede arne_v Ekspert
27. marts 2005 - 12:04 #2
Lidt afhængig af database og sprog opsætning:

1-1-1977
1977-1-1
19770101

men som sagt med parameters har du ikke problemet.
Avatar billede dm0108 Nybegynder
27. marts 2005 - 12:36 #3
du bliver nok nød til at skærer det ud i pap.
Databasen ligger på en ms sql server.
Avatar billede arne_v Ekspert
27. marts 2005 - 12:40 #4
Prøv:

..."', prod_dato='" & rapdate & "0101',...
Avatar billede arne_v Ekspert
27. marts 2005 - 12:40 #5
SOm skal blive til:

...', prod_dato='19770101',...
Avatar billede dm0108 Nybegynder
29. marts 2005 - 07:47 #6
og hvis jeg kun vil have årstallet med over??
Avatar billede arne_v Ekspert
29. marts 2005 - 07:51 #7
Du kan ikke kun gemme et år medmindre du laver database feltet om til integer
Avatar billede dm0108 Nybegynder
29. marts 2005 - 07:52 #8
du er godt nok hurtig. Tak for det. Jeg prøver lige.
Avatar billede dm0108 Nybegynder
29. marts 2005 - 08:24 #9
Det giver følgende i tabellen 01-01-1977.
Det er perfekt.
Send mig et svar så får du points.
Kan du noget med for løkker så har jeg et spørgsmål som omhandler de samme data. Det er også her i Eksperten
Avatar billede arne_v Ekspert
29. marts 2005 - 08:28 #10
svar
Avatar billede arne_v Ekspert
29. marts 2005 - 08:29 #11
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester