Avatar billede martinsorensen Nybegynder
27. oktober 2007 - 02:12 Der er 7 kommentarer og
1 løsning

problemer med Update, SQL

Hej eksperter. Jeg har et problem med et update kald til databasen. Det compailer fint, men vil ikke opdatere databasen.

Kode:

                        string user = tbBrugernavn.Text;
                        SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database.mdf;Integrated Security=True;User Instance=True");



Mvh

Martin
Avatar billede martinsorensen Nybegynder
27. oktober 2007 - 02:13 #1
Der ;)

Kode:

if (tbPassword.Text == attrPassword)
            {

                string user = tbBrugernavn.Text;
                SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database.mdf;Integrated Security=True;User Instance=True");

                    try
                    {
                        SqlCommand cmd = new SqlCommand("UPDATE brugerPass SET online ='ja' WHERE brugernavn ='" + user + "'", con);
                        con.Open();

                        cmd.ExecuteNonQuery();
                    }
                    finally
                    {
                        if (con != null)
                        {
                            con.Close();
                        }
                    }

                    MessageBox.Show("Db opdateret");

            }
Avatar billede sherlock Nybegynder
27. oktober 2007 - 02:16 #2
prøv at sætte

catch (Exception e)
{
    MessageBox.Show("Fejl : " + e.Message);
}

ind lige før finally.

Hvilken type har kolonnen "online"?
Avatar billede martinsorensen Nybegynder
27. oktober 2007 - 02:20 #3
Kolonnen online har typen varchar(3)

Kode:

if (tbPassword.Text == attrPassword)
            {

                string user = tbBrugernavn.Text;
                SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database.mdf;Integrated Security=True;User Instance=True");

                    try
                    {
                        SqlCommand cmd = new SqlCommand("UPDATE brugerPass SET online ='ja' WHERE brugernavn ='" + user + "'", con);
                        con.Open();

                        cmd.ExecuteNonQuery();
                    }
                    catch (Exception e)
                    {
                        MessageBox.Show("Fejl : " + e.Message);
                    }

                    finally
                    {
                        if (con != null)
                        {
                            con.Close();
                        }
                    }

                    MessageBox.Show("Db opdateret");

            }
Avatar billede martinsorensen Nybegynder
27. oktober 2007 - 02:29 #4
nogen ideer til hvad ellers jeg kan gøre? DB bliver ikke opdateret, men selv samme syntax virker i manager. :)
Avatar billede sherlock Nybegynder
27. oktober 2007 - 02:30 #5
Og ? Ingenting?
Kan du selecte fra databasen?
Avatar billede martinsorensen Nybegynder
27. oktober 2007 - 02:33 #6
Nej der sker intet. Jeg kan sagtens selecte:

der har jeg en kode:

        public void dbConnect()
        {
            string user = tbBrugernavn.Text;

            SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database.mdf;Integrated Security=True;User Instance=True");
            con.Open();
            SqlCommand cmd = new SqlCommand("SELECT password FROM brugerPass WHERE brugernavn ='" + user + "'", con);
            SqlDataReader rdr = cmd.ExecuteReader();
            while (rdr.Read())
            {
                attrPassword = rdr["password"].ToString();
            }
            con.Close();
        }
Der virker helt perfekt.

Det er bare ved update som ikke virker. :(
Avatar billede arne_v Ekspert
27. oktober 2007 - 02:46 #7
Prøv og udskriv cmd.CommandText og se om den nu er det som du tror den er.

                    try
                    {
                        SqlCommand cmd = new SqlCommand("UPDATE brugerPass SET online ='ja' WHERE brugernavn ='" + user + "'", con);
                        con.Open();

                        MessageBox.Show(cmd.CommandText);
                        cmd.ExecuteNonQuery();
                    }
                    catch (Exception e)
                    {
                        MessageBox.Show("Fejl : " + e.Message);
                    }
Avatar billede martinsorensen Nybegynder
29. oktober 2007 - 14:57 #8
Fandt selv d af det. eg fjernede attachfile.... og kaldte den på servere. Så virkede det.
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