PDA

View Full Version : Delete کردن تمامی داده ها



فاطمه هاشمیان
سه شنبه 17 خرداد 1384, 16:23 عصر
میخواهم تمام داده های یک جدول را به یکباره پاک کنم
از دستور زیر استفاده میکنم همان لحظه DataGrid من خالی میشود اما وقتی فرم را بسته و دوباره باز میکنم داده های قبلی را Load میکند(یعنی در آن لحظه داده ها را فقط از DataGrid پاک میکند ؟؟)
ممنون میشم راهنماییم کنید

oleDbDataAdapter1.Fill(dataSet11.Alarm_tbl);
dataSet11.Alarm_tbl.Rows.Clear();
AlarmDataGrid.Refresh();
oleDbDataAdapter1.Update(dataSet11.Alarm_tbl);

Delphi-Clinic
سه شنبه 17 خرداد 1384, 16:43 عصر
سلام

پاک کردن کل داده های یک جدول با یک Stored procedure که دارای یک دستور Delete با شرایط مورد نظر برنامه شما باشد براحتی امکان پذیر است.

فکر کنم مفهوم ADO.NET تاحدودی برای شما جا نیافتاده این تکنیک بر اساس DisConnected Datasets بنا شده نه
Live Connections.

نتیجه:

ابتدا stored procedure رو صدا بزنید سپس اطلاعات باقیمانده جدول رو درون گرید قرار دهید.

روز خوش

یاشار
سه شنبه 17 خرداد 1384, 17:41 عصر
متد Clear فقط RowsCollection رو از جدولتون در دیتاست پاک می‌کنه، بدون اینکه RowState مربوط به ردیف‌ها رو به Deleted تغییر بده. اگر می‌خواهید همه ردیف‌های یک جدول رو پاک کنید و تعداد ردیف‌ها هم زیاده، بهتره از Truncate استفاده کنید و بعد دیتاست رو Update کنید.

*توجه داشته باشید که اگر از MSSQL استفاده می‌کنید و فایل‌های log براتون مهم هستند، نباید از Truncate استفاده کنید، چرا که ردیف‌هایی که بوسیله Truncate پاک شده‌اند ثبت نمی‌شوند. در این مورد می‌تونید از Delete استفاده کنید.

فاطمه هاشمیان
سه شنبه 17 خرداد 1384, 19:51 عصر
راجع به Truncate من اطلاعات زیادی ندارم دستور زیر را در oleDbCommand مینویسم اما اجرا نمیشه در MSDN هم چیز زیاد راجع به استفاده این دستور پیدا نکردم ممنون میشم اگه با کد بیشتر توضیح بدید

Truncate Table Table1
با تشکر

یاشار
سه شنبه 17 خرداد 1384, 20:48 عصر
Truncate Table tblName یک دستور T-SQL است که فقط روی MSSQL و MSDE اجرا می‌شه. اگر از Access استفاده می‌کنید باید معادل اون رو در Jet-SQL پیدا کنید.

در BOL یا همون SQL Server Books Online اگر یک جستجو بکنید، می‌تونید اطلاعات Truncate و فرقش با Delete رو پیدا کنید.

فاطمه هاشمیان
سه شنبه 17 خرداد 1384, 21:26 عصر
از توجه شما بسیار ممنونم اما مشکل من هم همینه که DataBase با Access است

اطلاعات Truncate و فرقش با Delete رو پیدا کنید
در MSDN راجع به تفاوت اینا نوشته بود اما چون در Access این دستو کار نکرد گفتم شاید اشکال از طرز استفاده من از این دستور است. :oops:
با پیشنهاد جناب Delphi-Clinic از stored procedure استفاده کردم .اما اگه می شد از دستور Truncate در این مورد استفاده کنم بهتر بود :)