تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
سؤال في حذف جداول قاعدة البيانات
#1
السلام عليكم

لعلكم جميعا بخير ان شاء الله

عندي قاعدة بيانات سيكوال

واريد انه عند الضغط علي زر معين يقوم البرنامج بحذف كافة الجداول الموجوده في قاعدة البيانات مهما كان عددها

بمعني ان يجعل قاعدة البيانات فارغه من جميع الجداول 

وبارك الله فيكم جميعا
الرد }}}
تم الشكر بواسطة: asemshahen5
#2
PHP كود :
use [TestTestD]
declare @
SQL nvarchar(max)=''
declare @SQLV nvarchar(max)=''
declare @SQLT nvarchar(max)=''
SELECT @SQL STUFF((SELECT ', ' quotename(TABLE_SCHEMA) + '.' quotename(TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES WHERE Table_Name LIKE '%'
FOR XML PATH('')),1,2,'')
SET @SQLT 'DROP TABLE ' + @SQL
SET 
@SQLV 'DROP View ' + @SQL
PRINT @SQLT
PRINT @SQLV
EXECUTE 
(@SQLT) -- uncomment to actually delete the tables
EXECUTE 
(@SQLV) -- uncomment to actually delete the View 
الرد }}}
تم الشكر بواسطة: Emam emam , سعود
#3
(10-04-20, 04:22 AM)asemshahen5 كتب :
PHP كود :
use [TestTestD]
declare @
SQL nvarchar(max)=''
declare @SQLV nvarchar(max)=''
declare @SQLT nvarchar(max)=''
SELECT @SQL STUFF((SELECT ', ' quotename(TABLE_SCHEMA) + '.' quotename(TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES WHERE Table_Name LIKE '%'
FOR XML PATH('')),1,2,'')
SET @SQLT 'DROP TABLE ' + @SQL
SET 
@SQLV 'DROP View ' + @SQL
PRINT @SQLT
PRINT @SQLV
EXECUTE 
(@SQLT) -- uncomment to actually delete the tables
EXECUTE 
(@SQLV) -- uncomment to actually delete the View 

الف شكر  اخي عاصم جزاك الله عنا كل خير
طبقت الكود ونجح في انه حدف جميع الجداول ولكن ظهر الخطأ التالي
PHP كود :
DROP TABLE [dbo].[Table_1], [dbo].[Table_2], [dbo].[Table_3], [dbo].[Table_4], [dbo].[Table_5]
DROP View [dbo].[Table_1], [dbo].[Table_2], [dbo].[Table_3], [dbo].[Table_4], [dbo].[Table_5]
Msg 3701Level 11State 5Line 1
Cannot drop the view 
'dbo.Table_1'because it does not exist or you do not have permission.
Msg 3701Level 11State 5Line 1
Cannot drop the view 
'dbo.Table_2'because it does not exist or you do not have permission.
Msg 3701Level 11State 5Line 1
Cannot drop the view 
'dbo.Table_3'because it does not exist or you do not have permission.
Msg 3701Level 11State 5Line 1
Cannot drop the view 
'dbo.Table_4'because it does not exist or you do not have permission.
Msg 3701Level 11State 5Line 1
Cannot drop the view 
'dbo.Table_5'because it does not exist or you do not have permission
الرد }}}
تم الشكر بواسطة: سعود , asemshahen5
#4
عدل الاستعلام الى :

PHP كود :
--EXECUTE (@SQLV) -- uncomment to actually delete the View 
الرد }}}
تم الشكر بواسطة: سعود , Emam emam , عبد العزيز البسكري
#5
(10-04-20, 05:31 AM)asemshahen5 كتب : عدل الاستعلام الى :

PHP كود :
--EXECUTE (@SQLV) -- uncomment to actually delete the View 

ظهر لي خطأ اخر وهو
اعتزر علي ازعاجك اخي

PHP كود :
Msg 3705Level 16State 1Line 1
Cannot 
use DROP TABLE with 'dbo.ReceiptQuery' because 'dbo.ReceiptQuery' is a view. Use DROP VIEW
الرد }}}
تم الشكر بواسطة: سعود , asemshahen5 , asemshahen5
#6
هل تقصد جداول تخص قاعدة بياناتك؟
استخدم command للحذف ومرر له drop table tablename
ونفذ

كود من مثال عندي:
PHP كود :
Dim dop As New SqlCommand("DROP TABLE flvs,cpus,comments,lovers"con)
 
dop.ExecuteNonQuery() 
أكيد لا بد من فتح الاتصال
flvs,cpus,comments,lovers أسماااااء جداول
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة: عبد العزيز البسكري , Emam emam , asemshahen5
#7
(10-04-20, 06:59 AM)سعود كتب : هل تقصد جداول تخص قاعدة بياناتك؟
استخدم command للحذف ومرر له drop table tablename
ونفذ

كود من مثال عندي:
PHP كود :
Dim dop As New SqlCommand("DROP TABLE flvs,cpus,comments,lovers"con)
 
dop.ExecuteNonQuery() 
أكيد لا بد من فتح الاتصال
flvs,cpus,comments,lovers أسماااااء جداول


أشكرك أخي سعودعلي مروركم الطيب
ولكن اري ان هده الطريقه صعبه شويه لو كان عدد الجداول كثيره
فمابالك لو كان هناك 100 جدول مثلا؟
الرد }}}
تم الشكر بواسطة: سعود , asemshahen5
#8
طيب لو تحذف قاعدة البيانات كلها مو اسهل اذا لم تجد طريقة!
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة: Emam emam , asemshahen5 , asemshahen5
#9
يبدو انه يوجد عندك view مرتبطة بالجداول احذف ال views ثم احذف الجداول
الرد }}}
تم الشكر بواسطة: سعود , asemshahen5 , Emam emam
#10
جربت كود ونجح معي ومسالة الامور الاخرى لا اعلم عنها واقصد ماتحدث به الاخوة لاني عملت جداول جديدة وحذفتها بالكود مرة واحدة

اولا ضع مربع نص لتضع به جملة الاتصال كاملة وليكن اسمها TextBox1
اكتب الدالة التالية:
PHP كود :
 Function drop(str As Stringtt As String) As String
        Using con 
As New SqlClient.SqlConnection(str)
 
           Using cm As New SqlClient.SqlCommand(""con)
 
               cm.CommandText "DROP TABLE " tt ""
 
               If con.State ConnectionState.Closed Then con.Open()
 
               Try
                    cm
.ExecuteNonQuery()
 
                   Return "Droped... " tt " "
 
               Catch ex As Exception
                    Return Err
.Description
                End 
Try

 
               If con.State ConnectionState.Open Then con.Close()
 
           End Using
        End Using
    End 
Function 

النقطة الاهم واللتي تبحث عنها على مااظن هي بالكود التالي:
PHP كود :
Using con As New SqlClient.SqlConnection(TextBox1.Text)
 
           'SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
            Using cm As New SqlClient.SqlCommand("", con)
                cm.CommandText = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES"
                If con.State = ConnectionState.Closed Then con.Open()
                Dim dr As SqlClient.SqlDataReader = cm.ExecuteReader
                Do While dr.Read
                    MsgBox(drop(TextBox1.Text, dr(0).ToString))
                Loop
                dr.Close()
                If con.State = ConnectionState.Open Then con.Close()
            End Using
        End Using 
ارجو تعطيني خبر اذا  هذه الاكواد عملت عندك.
تنبيه!
تحتاج تمرير هذه الجملة بكود الاتصال:
PHP كود :
MultipleActiveResultSets=True
وهي لتمكين تعدد مهام القاريء(حسب تعبيري وفهمي)


بصراحة يوجد اشخاص بالمنتدى يشجعون على البذل والمساعدة وتقديم كل ماهو مفيد
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة: asemshahen5 , عبد العزيز البسكري , Emam emam


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  سؤال عن الاسمبلي و النيم سبيس justforit 0 109 07-12-25, 12:28 AM
آخر رد: justforit
  فائدة بخصوص التعامل مع علامات التنصيص مع {سؤال} justforit 4 292 02-11-25, 11:19 PM
آخر رد: justforit
  كيفية جلب أسماء الأعمدة بجدول من جداول sql heem1986 2 754 17-08-25, 09:15 PM
آخر رد: heem1986
  تصدير البيانات إلى ملف RTF مصمم هاوي 4 842 15-08-25, 04:13 PM
آخر رد: أبو خالد الشكري
  [VB.NET] ما هو أفضل موقع استضافة لقواعد البيانات MSSQL ؟ mmaalmesry 0 799 16-07-25, 10:45 PM
آخر رد: mmaalmesry
  مساعدة في كيفية ترحيل البيانات من داتا قريدفيو إلى داتا قريدفيو في فيجوال بيسك ahmedfa71 13 2,265 09-07-25, 11:24 PM
آخر رد: أبو خالد الشكري
  مشكلة في حفظ البيانات مصمم هاوي 2 1,028 30-06-25, 08:51 AM
آخر رد: مصمم هاوي
  بطء في جلب البيانات مصمم هاوي 9 1,008 08-05-25, 07:51 AM
آخر رد: مصمم هاوي
  [Acces2007] مشكلة ملف قاعدة بيانات access للقراءة فقط mmaalmesry 11 1,486 29-04-25, 08:55 PM
آخر رد: mmaalmesry
  تعديل كود تحديث البيانات مصمم هاوي 1 790 26-04-25, 06:07 PM
آخر رد: مصمم هاوي

التنقل السريع :


يقوم بقرائة الموضوع: