PDA

View Full Version : سوال: ویرایش چند رکورد بصورت همزمان



Smoke_1110
یک شنبه 11 اردیبهشت 1390, 15:53 عصر
سلام
من یه برنامه دارم می خوام وقتی تاریخ ترخیصی رو مشخص کردم بره جستجو کنه و هر کس که تاریخ ترخیصش برابر با مقدار مشخص شده است رو بیاره و بصورت اتوماتیک وضعیتشون رو در حال ترخیص قرار بده.مثلا اگه 20 رکورد رو پیدا کرد وضعیت هر 20 رکورد رو که شاغل هستند رو به در حال ترخیص قرار بده و در همون رکورد دوباره ذخیره کنه یعنی ویرایش کنه و وضعیت رو از شاغل به در حال ترخیص قرار بده

نیما حتمی
یک شنبه 11 اردیبهشت 1390, 16:36 عصر
با سلام
شما دستور Update بنویسین در شرط اون یه select ببندین تمام تاریخهایی که برابر مقدار وارد شده است.در واقع update به همراه select خیلی راحت کارتون حل میشه
update tbl set NameField=""where (select * from tbl1 where DateTarkhis=txt.text

Smoke_1110
یک شنبه 11 اردیبهشت 1390, 18:06 عصر
اینجوری که شما گفتین نوشتم ولی نشد اگه یه حلقه تکرار بزنیم درست نمیشه؟
منظور من اینه که مثلا در تاریخ 1390/01/01 20 نفر باید ترخیص بشن وقتی من این تاریخ رو میزنم که میره جستجو میکنه پیدا میکنه تا اینجا بلدم می خوام وقتی جستجو تمام شد این 20 نفر که در این تاریخ که مشخص کردم ترخیص میشن وضعیت کاریشون که شاغل هست رو به در حال ترخیص تغییر بده یعنی دیگه تو شاغلها نباشن به عبارتی دیگه در فیلد وضعیت به جای شاغل بنویسه در حال ترخیص
کد من هم اینه
SqlConnection con4 = new SqlConnection("database=Mashmolin;integrated Security=true;");
con4.Open();
SqlCommand com1 = new SqlCommand();
com1.CommandText = "update Table2 set wazeiat= where (select * from Table2 where ta_roz=maskedTextBox1.Text)'";
com1.Connection = con4;
com1.ExecuteNonQuery();
con4.Close();
ارور هم اینه
Incorrect syntax near the keyword 'where'.
Unclosed quotation mark after the character string ''.

Smoke_1110
یک شنبه 11 اردیبهشت 1390, 18:24 عصر
و اگر هم کد رو به شکل زیر بنویسم باز ارور میده:
SqlConnection con4 = new SqlConnection("database=Mashmolin;integrated Security=true;");
con4.Open();
SqlCommand com1 = new SqlCommand();
com1.CommandText = "update Table2 set wazeiat='" + comboBox1.Text + "' where (select * from Table2 where ta_roz=maskedTextBox1.Text)'";
com1.Connection = con4;
com1.ExecuteNonQuery();
con4.Close();

و ارور این کد هم میشه :
Unclosed quotation mark after the character string ''.
An expression of non-boolean type specified in a context where a condition is expected, near ''.

نیما حتمی
دوشنبه 12 اردیبهشت 1390, 08:05 صبح
دوست عزیز معلومه که اررور میده شما در تایپیک 3 در where باید کلمه ترخیص رو بنویسین.این درستشه:


SqlConnection con4 = new SqlConnection("database=Mashmolin;integrated Security=true;");
con4.Open();
SqlCommand com1 = new SqlCommand();
com1.CommandText = "update Table2 set wazeiat='ترخیص' where (select * from Table2 where ta_roz=maskedTextBox1.Text)'";
com1.Connection = con4;
com1.ExecuteNonQuery();
con4.Close();