insertion de données à partir datagridview à la base de données
Il y a quelques données existantes dans la base de données et les utilisateurs d'entrer de nouvelles données dans le datagridview qui je voulais ajouter dans la base de données.
Et je ne sais vraiment pas comment ajouter que le nouveau inséré les lignes de données dans datagridview dans la base de données. Comment puis-je obtenir de nouvelles données insérées uniquement? On m'a dit que je peux utiliser tempID pour l'affecter à la nouvelle ligne insérée, mais je n'ai aucune idée sur comment le faire. Quelqu'un peut-il me donner des liens?
C'est mon code pour l'instant:
private void button1_Click(object sender, EventArgs e)
{
con = new System.Data.SqlClient.SqlConnection();
con.ConnectionString = "Data Source=tcp:SHEN-PC,49172\\SQLEXPRESS;Initial Catalog=LSEStock;Integrated Security=True";
con.Open();
SqlDataAdapter da = new SqlDataAdapter();
for (int i = 0; i<dataGridView1.Rows.Count-2; i++ )
{
String insertData = "INSERT INTO CostList(SupplierName, CostPrice, PartsID) VALUES (@SupplierName, @CostPrice, @PartsID)" ;
SqlCommand cmd = new SqlCommand(insertData, con);
cmd.Parameters.AddWithValue("@SupplierName", dataGridView1.Rows[i].Cells[0].Value);
cmd.Parameters.AddWithValue("@CostPrice", dataGridView1.Rows[i].Cells[1].Value);
cmd.Parameters.AddWithValue("@PartsID", textBox1.Text);
da.InsertCommand = cmd;
cmd.ExecuteNonQuery();
}
con.Close();
}
Vous devez vous connecter pour publier un commentaire.
Je pense que vous devriez approche de la grille de données insérer différemment. check this out:
http://www.codeguru.com/csharp/.net/net_data/datagrid/article.php/c13041/Add-Edit-and-Delete-in-DataGridView.htm
Je ne pense pas que permettant aux locaux de travail et à l'insertion de toutes les nouvelles lignes est la meilleure approche ici lorsque la grille est en mesure de laisser à l'utilisateur d'insérer de nouvelles lignes à la base de données lorsqu'il est lié aux données. l'exemple de la base de données des appels asynchrone pour libérer de l'INTERFACE utilisateur.
aussi je pense que vous devriez au moins utiliser StringBuilder pour votre requête; plus facile à gérer et j'espère que vous n'êtes pas vraiment l'intention de quitter la chaîne de connexion là, comme ça.