PDA

View Full Version : حذف همزمان چند رکورد



adib202
شنبه 18 مهر 1388, 13:51 عصر
چطور میشه چند رکورد رو که یک وجه مشترک دارند را حذف کرد
مثلا مقدار چند ردیف که همگی 5 در یک ستون خاص به نام A باشد.ردیف هایی که در ستون A دارای مقدار 5 هستند باید حذف شوند.

powerboy2988
شنبه 18 مهر 1388, 14:13 عصر
از select استفاده كن و سپس تك تك حذفشون كن.
نمونه برنامش هم كه بهت دادم

BahmanDB
شنبه 18 مهر 1388, 14:16 عصر
دوست عزیز همون طور که من متوجه شده می تونی با شرط Where این کارو به راحتی انجام بدی
توضیخات بیشتر تو مقاله آقای کفاش تو سایت برنامه نویس هست که واقعا پر محتواست می تونه تو هر دستوری کمکت کنه .
موفق باشی

adib202
شنبه 18 مهر 1388, 14:18 عصر
میشه بیشتر راهنمایی کنی؟

powerboy2988
شنبه 18 مهر 1388, 14:39 عصر
میشه بیشتر راهنمایی کنی؟

مگه تو يكي از پروژهايي كه تو حذف كردنش مشكل داشتي نمونه سورس نذاشتم؟

adib202
شنبه 18 مهر 1388, 14:45 عصر
نه
موضوع حذف رو من اولین باریه که پرسیدم!!

powerboy2988
شنبه 18 مهر 1388, 14:50 عصر
پس اين چي بود!!!!
http://barnamenevis.org/forum/showthread.php?t=183459

adib202
شنبه 18 مهر 1388, 15:24 عصر
دوست عزیز
اولا:این سوال رو من مطرح نکردم اگه به پروفایل اون شخص هم مراجعه می کردید متوجه می شدید
دوماً:فکر کنم سوالم رو بد مطرح کردم.حذفی که من بهش اشاره کردم نیازی به چک باکس نداره.می خوام فقط بگه ردیف هایی که توی ستون A مثلا مقدار 5 رو دارند حذف کنه.این مقدار 5 از توی textbox میاد
سوماً:از راهنمایی ها شما خیلی ممنونم

powerboy2988
شنبه 18 مهر 1388, 15:30 عصر
دوست عزیز
اولا:این سوال رو من مطرح نکردم اگه به پروفایل اون شخص هم مراجعه می کردید متوجه می شدید
دوماً:فکر کنم سوالم رو بد مطرح کردم.حذفی که من بهش اشاره کردم نیازی به چک باکس نداره.می خوام فقط بگه ردیف هایی که توی ستون A مثلا مقدار 5 رو دارند حذف کنه.این مقدار 5 از توی textbox میاد
سوماً:از راهنمایی ها شما خیلی ممنونم

شرمنده واقعا درگير كار بودم و اشتباهي ديدم.

خوب شما مي توني where condition رو عوض كني

يك نمونه :



ado.RecordSource = "select * from tbl1 where ID like ' " & trim(textbox1) & " ' "
ado.refresh
if (ado.Recordset.Recordcount <> 0) then
while(ado.Recordset.Eof <> true)
ado.Recordset.Delete
ado.Recordset.MoveNext
wend
end if
باز هم شرمنده:بوس::بوس::بوس::بوس::بو ::بوس::بوس:

Dr.Bronx
شنبه 18 مهر 1388, 17:16 عصر
کار رو سخت نکنید خوب

این مثال هارو ببینید


DELETE FROM table_name
WHERE some_column=some_value

که مثلا اینجوری میشه


DELETE FROM Persons
WHERE LastName='Tjessem' AND FirstName='Jakob'

با این دستور هم میشه تمام رکورد های یک جدول رو پاک کرد


DELETE FROM table_name

or

DELETE * FROM table_name

موفق و موید باشید

xxxxx_xxxxx
شنبه 18 مهر 1388, 18:14 عصر
سلام،
چرا یک بار Select کنیم و بعد حذف کنیم؟!!! بجای Select حذف می کنیم که سریعتر انجام شه.


ado.RecordSource = "Delete * from tbl1 where ID like ' " & trim(textbox1) & " ' "
ado.refresh

:چشمک:

soheilbehro
شنبه 18 مهر 1388, 22:48 عصر
دوشتان من هم تقریبا همین مشکل رو دارم فقط من نمی خوام اطلاعات رو حذف کنم بلکه می خوام مقدار یک فیلد از این اطلاعات رو تغییر بدم از نوع جاری به راکد با یه شرط خاص
خیلی ممنون می شم اگه کمکم کنید

powerboy2988
شنبه 18 مهر 1388, 23:04 عصر
دوشتان من هم تقریبا همین مشکل رو دارم فقط من نمی خوام اطلاعات رو حذف کنم بلکه می خوام مقدار یک فیلد از این اطلاعات رو تغییر بدم از نوع جاری به راکد با یه شرط خاص
خیلی ممنون می شم اگه کمکم کنید



ado.RecordSource = "select * from tbl1 where ID like ' " & trim(textbox1) & " ' "
ado.refresh
if(ado.Recordset.Recordcount <> 0) then
while(ado.RecordSet.Eof <> true)
ado.Recordset.Field(1) = "your value"
ado.Recordset.MoveNext
wend

ado.Recordset.update
end if

soheilbehro
یک شنبه 19 مهر 1388, 00:35 صبح
ado.RecordSource = "select * from tbl1 where ID like ' " & trim(textbox1) & " ' "
ado.refresh
if(ado.Recordset.Recordcount <> 0) then
while(ado.RecordSet.Eof <> true)
ado.Recordset.Field(1) = "your value"
ado.Recordset.MoveNext
wend

ado.Recordset.update
end if

دوست عزیز کد شما به ظاهر درسته ولی نمی دونم چرا تو پروژه من جواب نمی ده اگه امکان داشته باشی می تونی یه نمونه کوچولو برام بگذاری
ممنون

powerboy2988
یک شنبه 19 مهر 1388, 10:19 صبح
دوست عزیز کد شما به ظاهر درسته ولی نمی دونم چرا تو پروژه من جواب نمی ده اگه امکان داشته باشی می تونی یه نمونه کوچولو برام بگذاری
ممنون

مشكلش چيه؟
شما سورس برنامه رو بزار تا درستش كنم البته همراه با ديتابيس

soheilbehro
یک شنبه 19 مهر 1388, 10:56 صبح
این پروژه اصلی خودم نیست چون خیلی بزرگ بود
این مثال همون چیزی که من می خوام ولی کار نمی کنه اگه بتونی مشکلشو حل کنی خیلی ممنون می شم

powerboy2988
یک شنبه 19 مهر 1388, 12:06 عصر
ببين همينه....

soheilbehro
یک شنبه 19 مهر 1388, 12:38 عصر
دوست عزیز خیلی ممنون گل کاشتی مشکل چندین روزه منو حل کردی ای ول :تشویق:
راستی می تونی یه کاری کنی که اینبار به جای تغییر نام، اونا رو توی یه بانک جداگانه ذخیره کنه.

powerboy2988
یک شنبه 19 مهر 1388, 12:53 عصر
راستی می تونی یه کاری کنی که اینبار به جای تغییر نام، اونا رو توی یه بانک جداگانه ذخیره کنه.

كاري نداره كه ....
شما يك جدول ديگه ايجاد كن با همين مشخصات و بعد به جاي اينكه تغييرشون بدي تو جدول جديدت add كن

اگر باز به مشكل برخوردي سورستو بزار تا درست كنم

vbhamed
یک شنبه 19 مهر 1388, 15:28 عصر
دوشتان من هم تقریبا همین مشکل رو دارم فقط من نمی خوام اطلاعات رو حذف کنم بلکه می خوام مقدار یک فیلد از این اطلاعات رو تغییر بدم از نوع جاری به راکد با یه شرط خاص
خیلی ممنون می شم اگه کمکم کنید

سلام
خب شما هم مي تونيد از دستور Update استفاده كنيد


Update Table1 Set Field1 = 123 Where ...