PDA

View Full Version : سوال: خواندن کلیه رکوردهای دیتاگرید



farhan1
دوشنبه 23 اردیبهشت 1392, 17:56 عصر
سلام خسته نباشید
خدمت اساتید عرض کنم چگونه می توان کلیه رکوردهای یک دیتاگرید خواند
من از این کد استفاده کردم ولی فقط یک ردیف از دیتاگرید را می خواند
(++for(int i=0;i< dgv1.rows.count-1;i

fool66
دوشنبه 23 اردیبهشت 1392, 18:06 عصر
for (int i = 0; i < dataGridViewX1.Rows.Count; i++)

ایمان مدائنی
دوشنبه 23 اردیبهشت 1392, 18:07 عصر
دوست من از foreach استفاده کن


foreach (var s in dgv1.row)
{

}

farhan1
دوشنبه 23 اردیبهشت 1392, 18:14 عصر
دوست عزیز کد شما دقیقا عین کد من هست اگه شما بعد از count از 1- استفاده نکنید ارور میده بخاطر اینکه سطر آخر چک می شود و چون هیچگونه رکوردی وجود ندارد پیغام خطا می دهد

farhan1
دوشنبه 23 اردیبهشت 1392, 18:26 عصر
(foreach (DataGridView s in dgv1.Rows
{


;( scm.Parameters.AddWithValue("@id",dgv1.Rows[s].Cells[0].Value


قسمت [dgv1.Rows[s خطا میده

farhan1
دوشنبه 23 اردیبهشت 1392, 18:35 عصر
کسی نیست کمک کنه

fool66
دوشنبه 23 اردیبهشت 1392, 18:37 عصر
لطفا کدتو کامل بزار همرا با پیغام خطا

farhan1
دوشنبه 23 اردیبهشت 1392, 18:42 عصر
private void btnsave_Click(object sender, EventArgs e)
{

con.scn.ToString();
scm.Connection = con.scn;
scm.CommandText = "INSERT INTO goz_dabiran VALUES(@id,@name,@neshan,@hesab,@semat,@name_types emat,@placwork,@sale_pardakhti,@kosorat,@sale_khal espar,@date,@numsand,@numshenase)";
scm.Parameters.Clear();
foreach (DataGridView r in dgv1.Rows)
{


scm.Parameters.AddWithValue("@id",dgv1.Rows[r].Cells[0].Value);
scm.Parameters.AddWithValue("@name", dgv1.Rows[i].Cells[1].Value.ToString());
scm.Parameters.AddWithValue("@neshan", dgv1.Rows[i].Cells[2].Value.ToString());
scm.Parameters.AddWithValue("@hesab", dgv1.Rows[i].Cells[3].Value);
scm.Parameters.AddWithValue("@semat", dgv1.Rows[i].Cells[4].Value.ToString());
scm.Parameters.AddWithValue("@name_typesemat", dgv1.Rows[i].Cells[5].Value.ToString());
scm.Parameters.AddWithValue("@placwork", dgv1.Rows[i].Cells[6].Value.ToString());
scm.Parameters.AddWithValue("sale_pardakhti", dgv1.Rows[i].Cells[7].Value);
scm.Parameters.AddWithValue("@kosorat", dgv1.Rows[i].Cells[8].Value);
scm.Parameters.AddWithValue("@sale_khalespar", dgv1.Rows[i].Cells[9].Value);
scm.Parameters.AddWithValue("@date",dgv1.Rows[i].Cells[10].Value.ToString());
scm.Parameters.AddWithValue("@numsand", txtnumsanad.Text);
scm.Parameters.AddWithValue("@numshenase", txtshenase.Text);
con.scn.Open();
scm.ExecuteNonQuery();
con.scn.Close();
dt = new DataTable();
scm = new SqlCommand();
scm.Connection = con.scn;
scm.CommandText = "select * from goz_dabiran order by id ";
da.SelectCommand = scm;
da.Fill(dt);
dgv2.DataSource = dt;


}
}

farhan1
دوشنبه 23 اردیبهشت 1392, 18:48 عصر
فقط ردیف اول تست کردم جواب نداد

fool66
دوشنبه 23 اردیبهشت 1392, 18:55 عصر
خط اول به جای i ، r گذاشتی !!!ببین
scm.Parameters.AddWithValue("@id",dgv1.Rows[r].Cells[0].Value);

farhan1
دوشنبه 23 اردیبهشت 1392, 19:05 عصر
من متذکر شدم که ردیف اول را با foreach تست کردم که در حین کد نویسی ارور میده هنوز به سطر بعدی نرسیدم که تغییرات کد بدم

بقیه کدها قبلا با for نوشته شده بودند و فقط یک سطر خوانده می شد

fool66
دوشنبه 23 اردیبهشت 1392, 19:13 عصر
میشه پیغام خطاتون هم بزارید

farhan1
دوشنبه 23 اردیبهشت 1392, 19:24 عصر
برنامه درست شد.ممنون از لطفتون
باید حلقه for را قبل از insert قرار میدادم