Avatar billede cbadk Novice
01. maj 2012 - 08:33 Der er 7 kommentarer og
1 løsning

Problem med INSERT, SqlCommand og Parameters

Jeg sidder og prøver og få en database til og virke med sql parameters. Men når man køre ExecuteNonQuery indsætter den ikke den nye "ROW" til database.

Her er min kode:

        public void public_dbAddServerlog(string eventDesc, string connString)
        {
            string sql =
            "INSERT INTO serverlogs (eventDesc) VALUES ( @eventDesc )";     
       
            using (SqlConnection conn = new SqlConnection(connString))
            {
                SqlCommand cmd = new SqlCommand(sql, conn);
                cmd.Parameters.Add("@eventDesc", SqlDbType.NVarChar);
                cmd.Parameters["@eventDesc"].Value = eventDesc;
                try
                {
                    conn.Open();
                    cmd.ExecuteNonQuery();
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
           
        }


eventDesc er min variable jeg gerne vil smide i tabellen.

Tabellen ser sådan her ud:

serverlogs
---------------------
eventID (int)(autoincrmt)
eventDate (datetime)
eventDesc (Nvarchar)
Avatar billede softspot Forsker
01. maj 2012 - 08:48 #1
Jeg er ikke helt sikker om dette vil løse problemet, men prøv det alligevel:


        public void public_dbAddServerlog(string eventDesc, string connString)
        {
            string sql =
            "INSERT INTO serverlogs (eventDesc) VALUES ( @eventDesc )";     
       
            using (SqlConnection conn = new SqlConnection(connString))
            {
                try
                {
                    conn.Open();
                    SqlCommand cmd = new SqlCommand(sql, conn);
                    cmd.Parameters.AddWithValue("@eventDesc", eventDesc);
                    cmd.ExecuteNonQuery();
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
           
        }
Avatar billede Syska Mester
01. maj 2012 - 09:53 #2
Meget mystisk ... og der kommer ingen exceptions?
Avatar billede mireigi Novice
01. maj 2012 - 11:19 #3
Avatar billede cbadk Novice
01. maj 2012 - 13:20 #4
Jeg har forsøgt med forskellige ting men den vil BARE ikke oprette et nyt row.

Måske er der nogen er jer der kan finde fejlen. Her er database og projekt filer.

http://www.geeks0.com/RFID_DB_Transaction_server.zip
Avatar billede cbadk Novice
01. maj 2012 - 13:29 #5
Prøvede også den som softspot forslog. Men den så hellere ikke ud til at have nogen effekt, plus den kommer ikke med nogen fejl meldning i console. Mystisk mystisk...
Avatar billede Syska Mester
01. maj 2012 - 13:37 #6
#cbadk

Da du bruger sådan en "fil tingeling db", så kopiere den jo databasen ud til din bin folder ... og overskrive den hver gang.

Så du vil ikke kunne se dine ændringer i den som ligger i roden af dit projekt, da den du nok reelt skriver til ligger i din "bin" mappe efter du har compiled.

mvh
Avatar billede cbadk Novice
01. maj 2012 - 15:16 #7
Skrev en fysisk sti til database og den virker nu.

Mange tak for hjælpen.

mvh undertegnede
Avatar billede Syska Mester
01. maj 2012 - 15:30 #8
Hvis det var min kommentar der var ide til løsning, så smider jeg et svar.

mvh
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

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