Je travaille sur une base de données avec C# et la recherche dans la base de données n'est pas un problème, j'obtiens les informations correctes lors de la recherche. Toi si je veux mettre à jour ma base de données avec de nouveaux Tigres (par exemple) ça va être mis à jour. Mon auto ne peux pas voir les problèmes avec le code et je ne reçois aucune erreur. Où le problème peut-il être? Voici le code:Impossible de mettre à jour ma base de données SQL avec C#
public void UpdateTigers(string[] array, string persNo)
{
//Creating the connection string.
string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Owner.mdf;Integrated Security=True";
//Creating a connection to the database with the connection string value.
using (SqlConnection con = new SqlConnection(connectionString))
{
//Opening the connection to the SQL database
con.Open();
//Creating a commands(querys) to be used.
SqlCommand cmd = new SqlCommand("UPDATE Owner SET [email protected] WHERE Personnummer=" + persNo, con);
if (array[6] != "")
{
cmd = new SqlCommand("UPDATE Owner SET [email protected], [email protected] WHERE Personnummer=" + persNo, con);
}
if (array[7] != "")
{
cmd = new SqlCommand("UPDATE Owner SET [email protected], [email protected], [email protected] WHERE Personnummer=" + persNo, con);
}
//Adding to the SqlCommand what @Name got for value.
cmd.Parameters.AddWithValue("@tiger1", array[6]);
if (array[6] != "")
cmd.Parameters.AddWithValue("@tiger2", array[7]);
if (array[7] != "")
cmd.Parameters.AddWithValue("@tiger3", array[8]);
//Sending the request to the database.
cmd.ExecuteNonQuery();
//No need for a con.Close() because the using statement closes it automatically.
}
quel résultat obtenez-vous? –
Vérifiez la valeur renvoyée depuis 'cmd.ExecuteNonQuery();'. Si c'est plus de 0, votre mise à jour fonctionne correctement. –
Qu'est ce que array [0] à array [5]? Vous devez également utiliser un paramètre pour Personnummer, la concaténation de chaîne est un risque d'injection SQL. – KnarfaLingus