ورود

View Full Version : حذف 12000 رکورد TABEL یکجا



niko2008
سه شنبه 18 اسفند 1388, 23:26 عصر
سلام دوستان چطور میتونم 12000 رکورد TABEL رو یکجا و به سرعت حذف کنم؟

sasan_vm
سه شنبه 18 اسفند 1388, 23:52 عصر
با استفاده از دستورات SQL :


truncate table [TableName]

niko2008
سه شنبه 18 اسفند 1388, 23:55 عصر
با استفاده از دستورات SQL :


truncate table [TableName]


ولی بنده از این کد استفاده کردم ولی خیلی زمان میبره
Adodc4.Recordset.MoveFirst
For j = 1 To Adodc4.Recordset.RecordCount
DoEvents
With Adodc4.Recordset
.Delete
.MoveNext
If .EOF Then MsgBox "Delete is complet.", vbExclamation
End With

niko2008
چهارشنبه 19 اسفند 1388, 00:03 صبح
همچنان منتظر جوابیم

polisoftco
چهارشنبه 19 اسفند 1388, 00:10 صبح
خوده تیبل رو حذف کن ...!!!! :گیج::متفکر::لبخند:
بعدش یک تیبل باهمون فیلدها بساز.

niko2008
چهارشنبه 19 اسفند 1388, 00:18 صبح
خوده تیبل رو حذف کن ...!!!! :گیج::متفکر::لبخند:
بعدش یک تیبل باهمون فیلدها بساز.

خیلی ممنون فقط اون علامتهای !!! با حال بود کاربری مثل شما میتونید با چنین برنامه ای کار کنید این که جواب نشد

polisoftco
چهارشنبه 19 اسفند 1388, 00:32 صبح
دوست عزیز شما حتما میتونین تیبل رو حذف کنین، خب بعدش با یک کریت تیبل رو بسازین، اگه روش حذف و ایجاد جدول رو میخایین کدش رو واستون میفرستم.

niko2008
چهارشنبه 19 اسفند 1388, 00:34 صبح
دوست عزیز شما حتما میتونین تیبل رو حذف کنین، خب بعدش با یک کریت تیبل رو بسازین، اگه روش حذف و ایجاد جدول رو میخایین کدش رو واستون میفرستم.
اگه لطف کنید منتظرم

polisoftco
چهارشنبه 19 اسفند 1388, 00:39 صبح
برای ایجاد تیبل


CREATE TABLE table_name
(
column_name1 data_type,
column_name2 data_type,
column_name3 data_type,
....
)


کد زیر برای اضافه کرد یک جدول با سه فیلد کد، نام ، فامیل




CREATE Table orders
(
NoID number(2) primary key,
FName varchar2(15)
LName varchar2(15)
);


کد زیر برای حذف اطلاعات یک تیبل



DELETE FROM table_name
ویا

DELETE * FROM table_name


کدهای زیر برای حذف یک جدول


DROP TABLE tabl;




TRUNCATE TABLE table;


برای ایجاد دیتابیس


CREATE DATABASE database_name


برای حذف دیتابیس


DROP DATABASE database_name

mpmsoft
چهارشنبه 19 اسفند 1388, 12:37 عصر
truncate table [TableName]

از کدی که دوستمون گذاشتند استفاده کنید و بسیار سریع عمل می کنه

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

polisoftco
پنج شنبه 20 اسفند 1388, 22:25 عصر
منم نظرم همین truncate بود ولی مثل اینکه ایشون باهاش مشکل داشتن، بعد هرچی میدونستم رو اینجا نوشتم تا هرکدوم رو خاست انتخاب کنن، وگرنه همین truncate خوب جواب میده و منم از این استفاده میکنم.

niko2008
جمعه 21 اسفند 1388, 23:18 عصر
منم نظرم همین truncate بود ولی مثل اینکه ایشون باهاش مشکل داشتن، بعد هرچی میدونستم رو اینجا نوشتم تا هرکدوم رو خاست انتخاب کنن، وگرنه همین truncate خوب جواب میده و منم از این استفاده میکنم.

مرسی دوست عزیز کدی که داده بودی واقعا عالی بود و خیلی استفاده کردم باز هم تشکر

Hossein Bazyan
جمعه 21 اسفند 1388, 23:54 عصر
از کدی که دوستمون گذاشتند استفاده کنید و بسیار سریع عمل می کنه

این که شما جدول را پاک کنید و دوباره ایجاد کنید مثل این می مونه که ماشینتون پنچر می شه اول موتورو میارید پایین بعد لاستیک عوض می کنید و بعد دوباره موتور رو سوار می کنید
سلام
حذف جدول یه خورد ریسک داره . اگر بنا به هر دلیلی در ساخت دوباره جدول مشکلی پیش اومد اونوقت مشکل دو برابر میشود.

polisoftco
شنبه 22 اسفند 1388, 00:04 صبح
چه ریسکی...!!!؟؟؟
خب دوتا فیلد با مشخصات و نامهای مشخص رو حذف میکنین و بعدش باهمون مشخصات درستش میکنین، یا اینکه میتونین دیتابیستون رو توسط کدنویسی درست کنین، هروقت هم حذفش کردین باز همون کد رو فراخوانی میکنین که در اینصورت جدولتون چه بعداز حذف و چه قبل از حذف یکی درمیاد.

Hossein Bazyan
شنبه 22 اسفند 1388, 00:06 صبح
چه ریسکی...!!!؟؟؟
خب دوتا فیلد با مشخصات و نامهای مشخص رو حذف میکنین و بعدش باهمون مشخصات درستش میکنین، یا اینکه میتونین دیتابیستون رو توسط کدنویسی درست کنین، هروقت هم حذفش کردین باز همون کد رو فراخوانی میکنین که در اینصورت جدولتون چه بعداز حذف و چه قبل از حذف یکی درمیاد.
سلام
اگر بین فاصله حذف و ایجاد برق رفت ؟ یا بنا به هر دلیلی ارتباط با دیتابیس قطع شد؟
اینا ریسکها هستند.

polisoftco
شنبه 22 اسفند 1388, 00:42 صبح
1- حذف میشه، برق میره، پس از اجرای دوباره نرم افزار باز ایجاد میشه.
2- برق میره، حذف میشه، دوباره ایجاد میشه.
3- حذف میشه، ایجاد میشه، برق میره.
4- حذف میشه، ایجاد میشه، برق نمیره.

دقیقا متوجه منظورتون نشدم، اگه ممکنه توضیح بدین تا بفهمیم.

Hossein Bazyan
شنبه 22 اسفند 1388, 11:51 صبح
1- حذف میشه، برق میره، پس از اجرای دوباره نرم افزار باز ایجاد میشه.
2- برق میره، حذف میشه، دوباره ایجاد میشه.
3- حذف میشه، ایجاد میشه، برق میره.
4- حذف میشه، ایجاد میشه، برق نمیره.

دقیقا متوجه منظورتون نشدم، اگه ممکنه توضیح بدین تا بفهمیم.
سلام
یعنی چی که متوجه نشدید؟
بعد از اینکه ما جدول رو حذف کردیم هنوز جدول ساخته نشده و برق قطع میشه یا ارتباط با دیتابیس از بین میره

Hosna.Soft_old
شنبه 22 اسفند 1388, 12:13 عصر
چرا اینجوری میکنید :متفکر:
12000 تا یا 1 دونه نداره دیگه


DELETE FROM table_name

راحت و آسوده هر چی داره حذف می کنه

این هم دستورش با recordset


rs.Open "delete from Table_Name", conn, adOpenStatic, adLockOptimistic

موفق باشید ./ :متفکر:

xxxxx_xxxxx
شنبه 22 اسفند 1388, 12:33 عصر
اون حلقه For که شما نوشتید باید هم زمانبر باشه. دلیلش کاملاً واضح هست. شما هر سطر رو یک بار بازیابی می کنید، بعد حذف می کنید. (DoEvents هم که گذاشتید.)

راه سریعتر از اون همین Delete هست.
سریعتر از Delete، دستور Truncate هست.

Drop Table هم که جدول رو حذف می کنه. (پیشنهاد نمیشه مگر برای کارهای temporary)

mpmsoft
شنبه 22 اسفند 1388, 13:36 عصر
دوست عزیز توجه بفرمائید که دستور Truncate مربوط به SQL SERVER میباشد و در اکسس این دستور قابل اجرا نمی باشد


تفاوت Truncate و Delete from در این است که دستور Truncate سوابق حذفی رو در لاگ فایل نمی نویسه

niko2008
شنبه 22 اسفند 1388, 21:45 عصر
اون حلقه For که شما نوشتید باید هم زمانبر باشه. دلیلش کاملاً واضح هست. شما هر سطر رو یک بار بازیابی می کنید، بعد حذف می کنید. (DoEvents هم که گذاشتید.)

راه سریعتر از اون همین Delete هست.
سریعتر از Delete، دستور Truncate هست.

Drop Table هم که جدول رو حذف می کنه. (پیشنهاد نمیشه مگر برای کارهای temporary)

سلام 10 تا x جان من همون دستوری رو انجام دادم که شما فرمودین تفاوت زمانی حذف به اندازه یه چشم به هم زدن