2017-07-15 1 views
0

Le compilateur ne montre aucune erreur. Je me demande quel est le problème.Impossible d'insérer des données dans SQL Server via Windows Forms C#

Et oui c'est aussi ne pas montrer le message "Inséré !!"

Ceci est ma première insertion de données dans Winforms. Oui, je suis nouveau.

code:

public partial class Phone : Form 
{ 
    SqlConnection con = new SqlConnection(@"Data Source=.;Initial Catalog=phonemo;Persist Security Info=True;User ID=sa;Password=***********"); 

    public Phone() 
    { 
     InitializeComponent(); 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     DialogResult dialogResult = MessageBox.Show("This will Clear Text", "New", MessageBoxButtons.YesNo); 

     if (dialogResult == DialogResult.Yes) 
     { 
      //do something 
     } 
     else if (dialogResult == DialogResult.No) 
     { 
      //do something else 
     } 

     textBox1.Text = ""; 
     textBox2.Clear(); 
     textBox3.Text = ""; 
     textBox4.Clear(); 
     comboBox1.SelectedIndex = -1; 
     textBox1.Focus(); 

     con.Open(); 
     String query = "INSERT INTO phonemoo (Fname,Sname,Mobile,Email,Catagory) VALUES ('"+ textBox1.Text +"','"+ textBox2.Text +"','"+ textBox3.Text +"','"+ textBox4.Text +"','"+ comboBox1.Text + "')"; 

     SqlDataAdapter sda = new SqlDataAdapter(query,con); 
     sda.SelectCommand.ExecuteNonQuery(); 

     con.Close(); 

     MessageBox.Show("Inserted !!"); 
    } 
} 

Merci

+1

Pourquoi effacez-vous toutes les commandes et sauvegardez-les (vides)? –

+0

clair quoi ?? N'a pas compris cela .. l'expliqueriez-vous plus? –

+3

Arrêtez ** tout **, et n'écrivez pas une seule ligne de code tant que vous n'avez pas tout lu sur l'injection SQL. Aussi, ne vous connectez pas en tant que 'sa'. Ensuite, vous ouvrez la connexion une fois et la fermez chaque fois que vous cliquez sur le bouton - il suffit de l'ouvrir chaque fois que vous cliquez sur le bouton à la place. Enfin, il suffit d'utiliser un débogueur pour voir ce qui se passe –

Répondre

-1

Vous avez effacé la valeur de zone de texte avant insertion dans la base de données. Changer votre code ---

{ 
    SqlConnection con = new SqlConnection(@"Data Source=.;Initial Catalog=phonemo;Persist Security Info=True;User ID=sa;Password=***********"); 

    public Phone() 
    { 
     InitializeComponent(); 
    } 

    private void Phone_Load(object sender, EventArgs e) 
    { 


    } 

    private void button1_Click(object sender, EventArgs e) 
    { 


     DialogResult dialogResult = MessageBox.Show("This will Clear Text", "New", MessageBoxButtons.YesNo); 
     if (dialogResult == DialogResult.Yes) 
     { 
      //do something 
     } 
     else if (dialogResult == DialogResult.No) 
     { 
      //do something else 
     } 




     con.Open(); 
     String query = "INSERT INTO phonemoo (Fname,Sname,Mobile,Email,Catagory) VALUES ('"+ textBox1.Text +"','"+ textBox2.Text +"','"+ textBox3.Text +"','"+ textBox4.Text +"','"+ comboBox1.Text + "')"; 

    SqlDataAdapter sda = new SqlDataAdapter(query,con); 
    sda.SelectCommand.ExecuteNonQuery(); 

    con.Close(); 

     textBox1.Text = ""; 
     textBox2.Clear(); 
     textBox3.Text = ""; 
     textBox4.Clear(); 
     comboBox1.SelectedIndex = -1; 
     textBox1.Focus(); 

    MessageBox.Show("Inserted !!"); 
    } 
} 
+0

quels changements devrais-je faire ?? –

0

Rien n'est sélectionné dans votre combobox - comboBox1.SelectedIndex = -1. Mais vous essayez d'insérer le texte de la liste déroulante dans le champ Catégorie. Je chercherais là le problème.