dodawanie rekordów do bazy (web site) C#

0

Witam,
Mam problem z dodawaniem rekordów do bazy mysql. Otóż mam coś takiego:

protected void Button2_Click1(object sender, EventArgs e)
    {
        string MyConString = "SERVER=localhost;" +
               "DATABASE=test;" +
               "UID=root;" +
               "PASSWORD=admin;";
        MySqlConnection connection = new MySqlConnection(MyConString);
        connection.Open();
        string insert_query = "INSERT INTO asdf (id,wartosc) VALUES (:id,:wartosc)";
        MySqlCommand updateCmd = new MySqlCommand(insert_query, connection);
        updateCmd.Parameters.Add(new MySqlParameter("wartosc", MySqlTypes.MySqlDbType.Varchar));
        updateCmd.Parameters[0].Value = input_add.Text;  //input_add to nazwa pola input (ID)

        updateCmd.ExecuteNonQuery();

    }

to jest kod który wywołuje się po kliknięciu przycisku "Dodaj do bazy danych".
Nazwa mojej tabeli to: asdf
Kolumny to: id - ustawiony jest klucz główny, oraz kolumna: wartosc (varchar)
a to mój formularz:

 <asp:TextBox ID="input_add" runat="server"></asp:TextBox>
            <asp:Button ID="Button2" runat="server" onclick="Button2_Click1" 
                Text="Dodaj do bazy" />

a to mój błąd który się pojawia i nie mogę sobie z nim poradzić:
Komunikat o błędzie kompilatora: CS0103: Nazwa „MySqlTypes” nie istnieje w bieżącym kontekście.

Kombinowałem już na różne sposoby. Przykład takiego dodawania znalazłem w necie bo nie za bardzo znam się na tym więc proszę o wyrozumiałość i odpowiedź co mam zrobić aby to w końcu zaczęło działać?

0

ma być chyba samo to:

MySqlDbType.Varchar 
0

też tak robiłem ale to znowu wyświetla taki błąd:
Komunikat o błędzie kompilatora: CS0117: W elemencie „MySql.Data.MySqlClient.MySqlDbType” brak definicji „Varchar”.

0

Bo przeklejasz kod z błędami. C# rozróżnia wielkość liter.
Wpisz MySqlDbType i po kropce powinna ci się wyświetlić lista (jak nie to CTRL+SPACJA). Z niej wybierz odpowiedni element.

0

Teraz znowu pokazuje ze pole id nie ma wartości domyślnej: "Field 'id' doesn't have a default value"
To mój kawałek kodu:

string insert_query = "INSERT INTO asdf (`wartosc`) VALUES (':wartosc')";
        MySqlCommand updateCmd = new MySqlCommand(insert_query, connection);
        updateCmd.Parameters.Add(new MySqlParameter("wartosc", MySqlDbType.VarChar));
        updateCmd.Parameters[0].Value = input_add.Text;  //input_add to nazwa pola input (ID)
        updateCmd.ExecuteNonQuery();

W bazie mam Primary Key na id ustawione i nie chce podawać id przy wprowadzaniu wartości do formularza bo to bez sensu.

0

Przy tworzeniu kolumny ID dodaj AUTO_INCREMENT
A potem do pola ID wstawiaj NULL. Samo się uzupełni.

0

Ok działa. Jeszcze tylko jedno pytanko czy można zrobić dodawanie do bazy za pomocą kontrolki GridView w Visual Studio bo widzę, że edycję i usuwanie można ale nie mogę znaleźć dodawania. Chyba, że istnieje jakaś inna kontrolka która robi dodawanie, edycję i usuwanie o której nie wiem?

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