Avatar billede sbjerre Nybegynder
08. oktober 2002 - 13:43 Der er 6 kommentarer og
1 løsning

Insert af DateTime data i SQL server

Hej

Jeg har følgende problem:

eg skal indsætte nogen data i en Sql server via ASP .NET vha C#

Jeg får en fejl mht. cinvertering af data til DataTime format....

Her er koden:

****************************************************

SqlConnection Conn = new SqlConnection("Data Source=localhost;uid=dbtest;Initial Catalog=booking");
string myInsertQuery = "INSERT INTO newuser.tblModer(IDLokale, Dato, Starttid, Sluttid, Person, Forvaltning, AntPerson, Kontakt_ini, afdid, Kontonrmoede) Values(@IDLokale, @Dato, @Starttid, @Sluttid, @Person, @Forvaltning, @AntPerson, @Kontakt_ini, @afdid, @kontonrmoede)";

SqlCommand myCommand = new SqlCommand(myInsertQuery);
myCommand.Connection = Conn;

myCommand.Parameters.Add(new SqlParameter("@IDLokale", SqlDbType.Int, 4));
myCommand.Parameters["@IDLokale"].Value = 15;

myCommand.Parameters.Add(new SqlParameter("@Dato", SqlDbType.DateTime, 4));
myCommand.Parameters["@Dato"].Value = "10-08-2002";

myCommand.Parameters.Add(new SqlParameter("@Starttid", SqlDbType.DateTime, 4));
myCommand.Parameters["@Starttid"].Value = "11.00";

myCommand.Parameters.Add(new SqlParameter("@Sluttid", SqlDbType.DateTime, 4));
myCommand.Parameters["@Sluttid"].Value = "13.00";

myCommand.Parameters.Add(new SqlParameter("@Person", SqlDbType.VarChar, 50));
myCommand.Parameters["@Person"].Value = "SMB";

myCommand.Parameters.Add(new SqlParameter("@Forvaltning", SqlDbType.VarChar, 50));
myCommand.Parameters["@Forvaltning"].Value = "CF";

myCommand.Parameters.Add(new SqlParameter("@AntPerson", SqlDbType.SmallInt, 2));
myCommand.Parameters["@AntPerson"].Value = 7;

myCommand.Parameters.Add(new SqlParameter("@Kontakt_ini", SqlDbType.VarChar, 50));
myCommand.Parameters["@Kontakt_ini"].Value = "SMB TEST";
myCommand.Parameters.Add(new SqlParameter("@afdid", SqlDbType.Int, 4));
myCommand.Parameters["@afdid"].Value = 15;

myCommand.Parameters.Add(new SqlParameter("@Kontonrmoede", SqlDbType.VarChar, 50));
myCommand.Parameters["@Kontonrmoede"].Value = "1234567";

Conn.Open();
myCommand.ExecuteNonQuery();
myCommand.Connection.Close();

*******************************************************

Problemet er så at jeg ikke ved hvilket format DateTime felterne skal have......

Håber der er nogen der kan komme med noget smart omkring dette spørgsmål...

Skriv endeligt hvis jeg mangler af uddybe noget!


Vh Sbjerre
Avatar billede -psycho- Nybegynder
08. oktober 2002 - 19:23 #1
Du kan lave en trigger i din sql db, så den automatisk når der bliver udført en insert i tabelen indsætter den dato og tid..
Avatar billede kichian Nybegynder
08. oktober 2002 - 23:58 #2
Hvis nu at dit default sprog i DB er engelsk, så skal datoer være YYYY-MM-DD
Prøv evt. med en DateTime struct. Ie

myCommand.Parameters["@Dato"].Value = new DateTime(2002,8,10)
Avatar billede donpedrodelavega Nybegynder
17. oktober 2002 - 01:39 #3
sbjerre >>
Hvad får du af fejl når du afvikler din SQL ?

/ DP
Avatar billede even.dk Nybegynder
04. november 2002 - 10:10 #4
Datoer i en database er kilden til evige problemer, specielt hvis der er tale om en web-applikation...

Hvis du vil udenom alle disse problemer, kan du oversætte dine datoer til en real (double) i databasen. Det der er før kommaet er datoen og det der er efter kommaet er tidspunktet på dagen. Du kan bruge CDate() og CDbl() til at oversætte datoen til og fra en double.

Prøv det!
Avatar billede sbjerre Nybegynder
04. november 2002 - 11:37 #5
jeg kigger på det - tak for det...
Avatar billede donpedrodelavega Nybegynder
04. november 2002 - 11:59 #6
Jeg har nu lagt det i en stored procedure hvor jeg så ikke behøver at parse datoen ud i en SQL string men bare kan caste min BCL DateTime til en SqlDbType DateTime...

Det har jeg fundet virker absolut lettest...

/ DonPedro
Avatar billede sbjerre Nybegynder
06. november 2002 - 13:04 #7
>> DonPedro

Jeg er ved at bygge en ny database op fra bunden.
Kan du uddybe den med stored procedures lidt mere ?
Jeg regner med at alle SQL funktioner i den nye DB skal placeres i Stores P

Vh Søren
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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