sql >> Databáze >  >> RDS >> Mysql

VB.NET mySQL příkaz insert

Správná syntaxe pro přidání NOVÉHO záznamu do vaší tabulky by měla být

 Dim SqlQuery As String = "INSERT INTO presence(id_presence,id,hours,date) " & _
                          "VALUES (@Id_presence,@Id,@Hours,@Date)"

A samozřejmě každý příkaz by měl být proveden, jinak jsou to jen zbytečné řádky kódu.
Po vytvoření parametrů vám tento řádek chybí.

  SQLcmd.ExecuteNonQuery()

Z vašeho obrázku si nelze být jisti, ale pokud je idpresence pole AUTOINCREMENT, pak byste se neměli pokoušet nastavit jeho hodnotu pomocí příkazu a parametru, ale nechat databázi, aby to udělala za vás. (Pokud záznamy vkládá více uživatelů současně, mohou nastat problémy s duplicitními klíči)

Jako poslední věc není specifikován typ vašich parametrů, takže neodpovídají základnímu schématu datatable. Můžete použít AddWithValue a převést hodnoty vstupního textového pole na správný typ databáze

SQLcmd.Parameters.AddWithValue("@Id_presence", Convert.ToInt32(TextBox1.Text))
SQLcmd.Parameters.AddWithValue("@Id", Convert.ToInt32(TextBox2.Text))
SQLcmd.Parameters.AddWithValue("@Hours", Convert.ToInt32(TextBox3.Text))
SQLcmd.Parameters.AddWithValue("@Date", Convert.ToDateTime(TextBox4.Text))


  1. použijte proměnnou pro název tabulky v mysql sproc

  2. Získejte poslední vložené ID pomocí Mysql

  3. Jak vybrat více řádků pomocí primárního klíče s více sloupci v MySQL?

  4. Dvě tabulky - jak odstranit řádky, pokud ID není odkazováno v obou tabulkách