2016-03-10 3 views
0

Ci-dessous le code que j'ai écrit, alors s'il vous plaît vérifier et dire ce qui ne va pas. J'ai posté l'insertion et le code de mise à jour ici.C#, en utilisant Visual Studio 2012, capable d'enregistrer à la base de données, mais ne peut pas mettre à jour

Je l'ai appris à partir de YouTube, donc je ne sais pas tous les détails sur une base de données afin s'il vous plaît poster dans une langue amateur comme moi comprendrait

public void bsave_Click(object sender, RoutedEventArgs e) 
{ 
     SQLiteConnection sqliyeCon = new SQLiteConnection(dbConnectionString); 
     //open connection to database 
     try 
     { 
      sqliyeCon.Open(); 
      string Query = "insert into employeeinfo (name,surname,age) values('" + this.name.Text + "', '" + this.surname.Text + "' , '" + this.age.Text + "')"; 
      SQLiteCommand createCommand = new SQLiteCommand(Query, sqliyeCon); 
      createCommand.ExecuteNonQuery(); 
      MessageBox.Show("Data is saved succesfully"); 
      sqliyeCon.Close(); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 
} 

private void bup_Click(object sender, RoutedEventArgs e) 
{ 
     SQLiteConnection sqliyeCon = new SQLiteConnection(dbConnectionString); 
     //open connection to database 
     try 
     { 
      sqliyeCon.Open(); 
      string Query = "update employeeinfo set eid='" + this.eid.Text + "' , name ='" + this.name.Text + "',surname='" + this.surname.Text + "', age='" + this.age.Text + "' where eid=eid='" + this.eid.Text + "' "; 
      SQLiteCommand createCommand = new SQLiteCommand(Query, sqliyeCon); 
      createCommand.ExecuteNonQuery(); 
      MessageBox.Show("Updated"); 
      sqliyeCon.Close(); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 
    } 
} 
+0

Je comprends que vous avez appris cela à partir de YouTube, mais vous devriez essayer de lire à ce sujet aussi bien. Actuellement, vous exposez votre couche de données sur le code de votre front end (vous devriez l'avoir extrait dans un projet séparé), ainsi que d'exposer les attaques par injection sql (vous placez les entrées utilisateur directement dans votre requête). C'est vraiment dangereux et très mauvais entraînement. – ragerory

+0

Plz tel moi comment faire cela, merci pour parler des chances d'injection probable ... –

Répondre

1

"' where eid=eid='" devrait être "' where eid='"

string Query = "update employeeinfo set eid='" + this.eid.Text + "' , name ='" + this.name.Text + "',surname='" + this.surname.Text + "', age='" + this.age.Text + "' where eid='" + this.eid.Text + "' "; 
+0

merci mahn !! qui a aidé :) –