SQL + problem z UPDATE

0

Plik Database1.mdf zawiera 1 tabelę o nazwie Users, z wierszami name i login. (Zawiera 1 rekord, name = "jakiesimie", login="admin", obydwa typy NVarChar(50))
Przy komendzie:

SqlCommand com = new SqlCommand("SELECT name FROM Users WHERE login = @login", myCon);
com.Parameters.Add("@login", SqlDbType.NVarChar).Value = "admin";
SqlDataReader sqlc = com.ExecuteReader();

I dalej wypisanie tego, nie ma żadnego problemu. Problem pojawia się przy próbie update'u.

Skladnia update: UPDATE nazwa_tabeli SET wartosc1=wartosc_jakas WHERE warunki

string sqlcon = "UPDATE Users SET name=@imie WHERE login=@login";
            com = new SqlCommand(sqlcon, myCon);
            com.Parameters.AddWithValue("@imie", "jakies_tam_imie");
            com.Parameters.Add("@login", SqlDbType.NVarChar).Value = "admin";
            com.ExecuteNonQuery();

Nie rzuca zadnym wyjątkiem, natomiast nie odnosi to zadnego efektu, w bazie dalej widnieje "jakiesimie". Ktoś wie gdzie robie błąd? Z góry dziękuje za pomoc.

0

Szukałeś na necie?

"UPDATE Users SET name=@imie WHERE login=@login";

zmień na:

"UPDATE 'Users' SET name = @imie WHERE 'login' = @login";

Zamiast ' daj `

0
            using (SqlConnection myCon = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True"))
            {
                myCon.Open();
                string sqlcon = "UPDATE Users SET name = @imie WHERE login = @login";
                SqlCommand com = new SqlCommand(sqlcon, myCon);
                com.Parameters.AddWithValue("@imie", "jakies_tam_imie");
                com.Parameters.Add("@login", SqlDbType.NVarChar).Value = "admin";
                int liczba = com.ExecuteNonQuery();
                Console.Write(liczba);
                myCon.Close();
                Console.ReadKey();
            }

Daje cały kod. W zależności od sqlcon liczba wynosi 1 lub 0, natomiast na bazie nie ma zadnego efektu.

"UPDATE 'Users' SET name = @imie WHERE 'login' = @login"; - wyrzuca SyntaxError
"UPDATE Users SET name = @imie WHERE login = @login"; - liczba = 1, natomiast w bazie brak efektu
"UPDATE Users SET name = @imie WHERE 'login' = @login"; - liczba = 0, czyli nie znajduje wpisu
przy ` też rzuca SyntaxError
Dalej nie moge sie z tym uporać..

1

Dobra już wiem, Visual Studio robiło mi psikusa kopiując za każdym razem od nowa baze danych z katalogu projektu to katalogu Debug... Już ustawiłem opcje "do not copy" i wszystko jest ok.

1

Sam sobie robiłeś tego psikusa.

1 użytkowników online, w tym zalogowanych: 0, gości: 1