من از این روش استفاده می کنم شاید به کارتون بیاد :
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
SqlConnection con = new SqlConnection(DataAccess.DataSource.ConnectionStri ng);
SqlCommand cmd = new SqlCommand("INSERT INTO Persons (SerialID,FirstName,LastName,FullName,BirthCertifi cateNo,NationalCode,BirthDate,BirthLoc,MariageStat us,MilitaryStatus,Description,Institute) "
+ "values (@SerialID,@FirstName,@LastName,@FullName,@BirthCe rtificateNo,@NationalCode,@BirthDate,@BirthLoc,@Ma riageStatus,@MilitaryStatus,@Description,@Institut e)", con);
cmd.Parameters.AddWithValue("@SerialID", dataGridView1.Rows[i].Cells[0].Value);
cmd.Parameters.AddWithValue("@FirstName", dataGridView1.Rows[i].Cells[1].Value);
cmd.Parameters.AddWithValue("@LastName", dataGridView1.Rows[i].Cells[2].Value);
cmd.Parameters.AddWithValue("@FullName", dataGridView1.Rows[i].Cells[3].Value);
cmd.Parameters.AddWithValue("@BirthCertificateNo", dataGridView1.Rows[i].Cells[4].Value);
cmd.Parameters.AddWithValue("@NationalCode", dataGridView1.Rows[i].Cells[5].Value);
cmd.Parameters.AddWithValue("@BirthDate", dataGridView1.Rows[i].Cells[6].Value);
cmd.Parameters.AddWithValue("@BirthLoc", dataGridView1.Rows[i].Cells[7].Value);
cmd.Parameters.AddWithValue("@MariageStatus", dataGridView1.Rows[i].Cells[8].Value);
cmd.Parameters.AddWithValue("@MilitaryStatus", dataGridView1.Rows[i].Cells[9].Value);
cmd.Parameters.AddWithValue("@Description", dataGridView1.Rows[i].Cells[10].Value);
cmd.Parameters.AddWithValue("@Institute", dataGridView1.Rows[i].Cells[10].Value);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("Added successfully!");