problem z wypełnianiem bazy danych

0

Posiadam taki prosty książkowy kod pod przyciskiem, który pomimo swej prostoty nie wypełnia mi tabeli bazy danych. Baza zawiera tabelę a w niej 3 kolumny: ID, Name, Surname.
Proszę o pomoc

 private void button1_Click(object sender, EventArgs e)
        {
            SqlConnection MyConnection = new SqlConnection("server=\\SQLEXPRESS;database=test.mdf;Integrated Security=SSPI;");

            MyConnection.Open();

            String MyString = @"INSERT INTO customers(ID, Name, Surname) VALUES(2, 'G', 'M')";
            SqlCommand MyCmd = new SqlCommand(MyString, MyConnection);

            MyCmd.ExecuteScalar();
            MyConnection.Close();
        }
 
0

Coś to niekompletne. :|

Ja bym to tak zrobił:

  1. wstawiłbym 3 textBoxy na formę
  2. nazwałbym je: textBoxID, textBoxName, textBoxSurname
  3. dorzuciłbym do tego buttona, który by zapisywał wprowadzony tekst z każdego poszczególnego textBoxa do odpowiednich kolumn w Bazie Danych
0

Kiedy tutaj jest jeszcze bardziej uproszczone bo wpisuje dane "sztywne" a na formatce jest tylko button bo reszta jest w kodzie.
Ale skoro juz temat poruszyłeś o wpisywaniu w TextBoxy to może masz jakiś kod który działa bo docelowo chce tak zrobić, ale na razie to z wartościami "sztywnymi" nie chce działać.

0

zobacz i na podstawie tego spróbuj zrobić: http://docent-7.tk/1D ;)

0

Pozmieniałem co nieco i teraz niby wszystko jest OK ale nie zapisuje danych do bazy
Może ktoś mi podpowiedzieć dlaczego?
Oto kod:

 
 string str = @"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Rafik\Documents\test.mdf;Database=test;Integrated Security=True;Connect Timeout=30;User Instance=True";
            SqlConnection conn = new SqlConnection(str);
           conn.Open();
            string adminId = textBox1.Text;
            string password = textBox2.Text;
                    string query = "INSERT INTO customers (Id, Name, Surname)VALUES (, @admin_id, @password)";
                    SqlCommand cmd = new SqlCommand();
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = query;
            cmd.Parameters.AddWithValue("@admin_id", adminId);
            cmd.Parameters.AddWithValue("@password", password);
0

Ustawiasz parametry, ale nic nie wykonujesz.

0

Jeśli chodzi o kod z pierwszego posta, to spróbuj zamienić ExecuteScalar() na ExecuteNonQuery().

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