Comment puis-je insérer des données dans la firebase database MySQL?

J’ai une application ASP.NET et une firebase database MySQL. Je veux écrire une classe pour insérer, supprimer et afficher les données de la firebase database. J’ai une connexion à la firebase database mais je ne peux pas insérer de données dans la firebase database.

Ma méthode d’insertion de classe:

public ssortingng CreateEntry(ssortingng Connectionssortingng, ssortingng mitarbeiter) { connection = new MySqlConnection(Connectionssortingng); try { var command = connection.CreateCommand(); command.CommandText = "INSERT INTO tb_mitarbeiter (Vorname) VALUES ('tom')"; connection.Open(); return "Mitarbeiter wurde angelegt"; } catch (Exception ex) { return ex.Message; } finally { connection.Close(); } } 

La Connectionssortingng est correcte. Je n’ai pas d’erreur mais il n’y a pas de données dans la firebase database.

Mon nom de fichier: tb_mitarbeiter columns: ID et Vorname

Vous devriez simplement exécuter la commande

 .... MySqlCommand command = connection.CreateCommand(); command.CommandText = "INSERT INTO tb_mitarbeiter (Vorname) VALUES ('tom')"; connection.Open(); command.ExecuteNonQuery(); .... 

Je suppose que mitarbeiter est la valeur réelle qui devrait être définie dans la firebase database.
Si tel est le cas, n’oubliez pas d’utiliser des parameters pour insérer / mettre à jour vos données.

 MySqlCommand command = connection.CreateCommand(); command.CommandText = "INSERT INTO tb_mitarbeiter (Vorname) VALUES (?name)"; command.Parameters.AddWithValue("?name", mitarbeiter); connection.Open(); command.ExecuteNonQuery(); 

Pour faire une insertion / mise à jour / supprimer u devrait append

 connection.Open(); command.ExecuteNonQuery(); 

Pour que select () affiche les données issues de l’utilisation de la firebase database:

 connection.Open(); command.ExecuteReader(); 

Vous avez oublié d’exécuter la commande en appelant command.ExecuteNonQuery (). Voici comment je le ferais généralement:

 public ssortingng CreateEntry(ssortingng connectionSsortingng, ssortingng valueToInsert) { var ssortingngToReturn = ""; try { using(var connection = new MySqlConnection(connectionSsortingng)) { //Open connection connection.Open(); //Compose query using sql parameters var sqlCommand = "INSERT INTO table_name (field_name) VALUES (@valueToInsert)"; //Create mysql command and pass sql query using(var command = new MySqlCommand(sqlCommand, connection)) { command.Parameters.AddWithValue("@valueToInsert", valueToInsert); command.ExecuteNonQuery(); } ssortingngToReturn ="Success Message"; } } catch(exception ex) { ssortingngToReturn = "Error Message: " + ex.Message; } return ssortingngToReturn; } 

Il y a quelques points clés à garder à l’esprit:

  1. Enveloppez les objects jetables avec une utilisation. Dans le cas de MySqlConnection, il sera correctement fermé et éliminé lorsque la connexion est hors de scope.
  2. Utilisez des parameters SQL lorsque vous transmettez des valeurs dans votre requête. Cela évitera l’injection SQL et sa maintenance sera beaucoup plus simple.
  3. Personnellement, j’aime avoir un sharepoint sortie dans une fonction. Dans cet exemple, la variable “ssortingngToReturn” contient la valeur à renvoyer une fois que la fonction est exécutée et que les deux s’exécutent correctement ou en cas d’échec.

Vous n’exécutez pas la commande, utilisez SqlCommand.ExecuteNonQuery

 try { MySqlCommand command = connection.CreateCommand(); command.CommandText = "INSERT INTO tb_mitarbeiter (Vorname) VALUES ('tom')"; connection.Open(); command.ExecuteNonQuery(); return "Mitarbeiter wurde angelegt"; } catch (Exception ex) { return ex.Message; } finally { connection.Close(); } 

Vous avez manqué d’écrire ceci: –

  .... connection.Open(); command.ExecuteNonQuery(); .... 

{
ssortingng MyConnection2 = “datasource = localhost; port = 3306; nom d’utilisateur = root; mot de passe = 1234”;

  ssortingng Query = "insert into DBname.TableName(id,Name,First_Name,Age,Address) values('" +this.IdTextBox.Text+ "','" +this.NameTextBox.Text+ "','" +this.FirstnameTextBox.Text+ "','" +this.AgeTextBox.Text+ "','" +this.AddressTextBox.Text+ "');"; MySqlConnection MyConn2 = new MySqlConnection(MyConnection2); MySqlCommand MyCommand2 = new MySqlCommand(Query, MyConn2); MySqlDataReader MyReader2; MyConn2.Open(); MyReader2 = MyCommand2.ExecuteReader(); MessageBox.Show("Save Data"); while (MyReader2.Read()) { } MyConn2.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } 

}

Vous pouvez également utiliser le paramètre Sql pour empêcher l’injection de Sql

 try { MySqlCommand command = connection.CreateCommand(); command.CommandText = @"INSERT INTO `tb_mitarbeiter` (`Vorname`) VALUES (@tom)"; command.Parameters.AddWithValue("@tom", tom); connection.Open(); command.ExecuteNonQuery(); return "Mitarbeiter wurde angelegt"; } catch (Exception ex) { return ex.Message; } finally { command.Dispose(); command.Close(); connection.Close(); }