PDA

View Full Version : سوال: چطور توسط گرید insert انجام بدم؟؟



amir-aa
سه شنبه 10 مرداد 1391, 10:00 صبح
سلام
من قبلا همچین پستی ایجاد کرده بودم اما بدون هیچ اثری حذف شد.
میخوام ببینم چطور با استفاده از گرید insert توی بانک انجام بدم؟؟؟

m.khani_121
سه شنبه 10 مرداد 1391, 10:21 صبح
سلام . یکی یکی سلول های هر سطر رو insert کن تو بانک .


Datagridview1.row[0].cells[0].value

اینجوری دسترسی پیدا کن . بعد برا هر سطر گرید یه حلقه بزار .

amir-aa
سه شنبه 10 مرداد 1391, 12:08 عصر
نه ببینید باید یه جور دیگه باشه.اون دفعه بچه ها یک جواب خیلی خوب دادن.....
گرید ویو من توش از قبل یک سری اطلاعات هست نمیخوام دوباره اونا insert بشن

m.khani_121
سه شنبه 10 مرداد 1391, 13:26 عصر
خوب از این تابع استفاده کن اونایی که تکراری رو وارد نمیکنه !


public Boolean ISIN(string UserName)
{
SqlConnection con2 = new SqlConnection();
SqlCommand cmd2 = new SqlCommand();
con2.ConnectionString = constring;
cmd2.Connection = con2;
cmd2.CommandText = "select * from ahkam Where Perno=@";
cmd2.Parameters.AddWithValue("@", UserName);
con2.Open();
SqlDataReader DR = cmd2.ExecuteReader();
DR.Read();
bool blnHasRows = DR.HasRows;
if (DR.IsClosed == false) DR.Close();
return blnHasRows;

}

اگه تکراری بود false برمیگردونه . خودت دیگه آرگومانشو درست کن .

amir-aa
سه شنبه 10 مرداد 1391, 14:34 عصر
من تا حالا با توابع کار نکردم...:گریه:
بلد نیستم
نمیدونم آرگومان چیه؟؟!!
من دفعه پیش که این پست رو زدم یک کد به من دادن خیلی ساده تر بود من متوجه میشدم

amir-aa
سه شنبه 10 مرداد 1391, 17:58 عصر
میشه راهنمایی کنید؟

masoud_z_65
سه شنبه 10 مرداد 1391, 18:48 عصر
سلام . یکی یکی سلول های هر سطر رو insert کن تو بانک .


Datagridview1.row[0].cells[0].value

اینجوری دسترسی پیدا کن . بعد برا هر سطر گرید یه حلقه بزار .

همینطور که دوستمون بهت گفتن انجام بده فقط بزار تو یه حلقه به تعداد ردیف های گریدت و بعد اون ردیف یا ردیفهای خاصت رو آپدیت یا اینزرت کن
تقزیبا شبیه این اما خودت درستش کن
Datagridview1.row[e.EditIndex].cells[e.EditIndex].value

amir-aa
سه شنبه 10 مرداد 1391, 18:57 عصر
خب ببینید من الان چجوری تعداد ردیف های جدید رو بهش معرفی کنم....؟؟؟!!مثلا 5 ردیف از قبل داشتیم الان 3 تا اضافه کردیم...خب چجوری این سه تا رو بشمارم تا عددشو بذارم توی حلقه

sirvan-me
سه شنبه 10 مرداد 1391, 19:31 عصر
خب ببینید من الان چجوری تعداد ردیف های جدید رو بهش معرفی کنم....؟؟؟!!مثلا 5 ردیف از قبل داشتیم الان 3 تا اضافه کردیم...خب چجوری این سه تا رو بشمارم تا عددشو بذارم توی حلقه

یه متغیر تعریف کن و مقدار اولیه اش رو 0 بده ... بار اول یه حلقه از 0 ( مقدار اولیه متغیر ) تا تعداد سطرهای گرید -1 بنویس و عمل Insert رو برای هر کدوم انجام بده و شماره ی آخرین سطری که Insert کردی و تو متغیری که داشتی نگه دار برای Insert بعدی مقدار اولیه حلقه رو دوباره از متغیر بخون تا سطر آخر و باز به همین ترتیب ... ( به همین راحتی به همین خوشمزگی سطرهای قبلی دیگه دوباره Insert نمیشن ) :چشمک:

ali_habibi1384
سه شنبه 10 مرداد 1391, 21:06 عصر
من تا حالا با توابع کار نکردم...:گریه:
بلد نیستم
نمیدونم آرگومان چیه؟؟!!
من دفعه پیش که این پست رو زدم یک کد به من دادن خیلی ساده تر بود من متوجه میشدم
خب چرا همون دفعه ازش استفده نكردي؟!
يادمه قبل به اين سوال جواب دادم فكر كنم جواب منو ميگي :لبخند:
بعد از اينكه اينزرت كردي اون سطر رو از جدولت پاك كن كه ديگه وجود نداشته كه كاربر بخواد دوباره اينسرت كنه:


dataGridView1.Rows.RemoveAt(dataGridView1.CurrentR ow.Index);

amir-aa
چهارشنبه 11 مرداد 1391, 21:06 عصر
نه اینا هیچکدوم اونی نیستن که من میخوام...
کسی نمونه سورس کد نداره؟؟

ali_habibi1384
چهارشنبه 11 مرداد 1391, 23:33 عصر
روش معمولش همونيه كه همه استفاده ميكنن من گفتم. چي تو سرته؟

amir-aa
پنج شنبه 12 مرداد 1391, 10:10 صبح
ببینید یک کد بذارید که سطر انتخاب شده رو insert کنه....اگر اینکارو بکنید ممنون میشم

sirvan-me
پنج شنبه 12 مرداد 1391, 10:36 صبح
به جای اینکه از rows[index] استفاده کنی از CurrentRow استفاده کن اینطوری سطری که انتخاب شده رو میتونی به سلول هاش دسترسی داشته باشی ...

amir-aa
پنج شنبه 12 مرداد 1391, 11:43 صبح
من این کوری رو نوشتم اما میگه index is out of range

string query1 = "insert into company(name,kind,phone,address,pool) values('" + dataGridViewX1.SelectedRows[0].Cells[1].Value + "','" + dataGridViewX1.SelectedRows[0].Cells[2].Value + "','" + dataGridViewX1.SelectedRows[0].Cells[3].Value + "','" + dataGridViewX1.SelectedRows[0].Cells[4].Value + "','" + dataGridViewX1.SelectedRows[0].Cells[5].Value + "'";

ali_habibi1384
پنج شنبه 12 مرداد 1391, 11:49 صبح
من این کوری رو نوشتم اما میگه index is out of range

string query1 = "insert into company(name,kind,phone,address,pool) values('" + dataGridViewX1.SelectedRows[0].Cells[1].Value + "','" + dataGridViewX1.SelectedRows[0].Cells[2].Value + "','" + dataGridViewX1.SelectedRows[0].Cells[3].Value + "','" + dataGridViewX1.SelectedRows[0].Cells[4].Value + "','" + dataGridViewX1.SelectedRows[0].Cells[5].Value + "'";


بجاي اينا
dataGridViewX1.SelectedRows[0].Cells[1].Value
اينو بنويس:
dataGridView1["ColName", dataGridViewX1.CurrentRow.Index].Value.ToString();

amir-aa
پنج شنبه 12 مرداد 1391, 13:05 عصر
باید از current row استفاده میکردم....درست شد..ممنون از همه