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

محتاج كود اول ما اعمل فتح للبرنامج اول مره يروح يشيك على قاعدة البيانات هل هيا موجوده ام لا فإذا كانت غير موجودة فإنه ينشأها بواسطة اسكربت مخزن في مسار applaction.path 
و شكرا مقدما
الرد
تم الشكر بواسطة:
#2
طريقة إنشاء قاعدة sql بواسطة script برمجيا وكتابة أسمها بواسطة العميل
الرد
#3
طريقة أخرى من باب التنويع ..
الرد
#4
اولا مشكور على الرد 
ثانيا أنا قصدي اني انا احفظ ملف الإسكريبت في مجلد Debug و أول ما البرنامج يشتغل يروح يشيك على قاعدة البيانات هل فيها الملف لو فيها خلاص و لو ما فيها يبدأ ينفذ الإسكريبت و ينشئ قاعدة البيانات

المهم انا عملت كود بس المشكله انه بيقرأ الإسكربت كله كسطر واحد و بيديني خطأ 
كود :
 Dim conn As String = "Data Source=.\SQLEXPRESS;Integrated Security=True"
                       Dim script As VariantType = File.ReadAllText(Application.StartupPath + "\SQLScript.sql")
                       Dim co As SqlConnection = New SqlConnection(conn)
                       Dim servdddder As Management.Smo.Server = New Management.Smo.Server(New ServerConnection(co))
                       Dim Server_conn As Microsoft.SqlServer.Management.Smo.Server = New Microsoft.SqlServer.Management.Smo.Server(New ServerConnection(co))
                       servdddder.ConnectionContext.ExecuteNonQuery(script)

بس زي ماهو واضح مش بينفذ الإسكربت 
فيه كود معمول بالc# لو احد من يعرف يحوله للفيجوال يبقى فنان
كود :
   Dim script As String = File.ReadAllText(Application.StartupPath + "\SQLScript.sql")
                       Dim sqlqueries As String = script.Split(New[] {"GO"}, StringSplitOptions.RemoveEmptyEntries)
                       Dim conn As String = "Data Source=.\SQLEXPRESS;Integrated Security=True"
                       Dim CMD1 As New SqlClient.SqlCommand("query", connSQLServer)

                       connSQLServer.Open()

                       foreach(var qurey As VariantType)
                       {
                       CMD1.CommandText = qurey
                       CMD1.ExecuteNonQuery()
                       }
                        connSQLServer.Close()
الرد
تم الشكر بواسطة: asemshahen5 , ابراهيم ايبو
#5
(04-12-19, 06:53 AM)Hamoody كتب : بس زي ماهو واضح مش بينفذ الإسكربت 
فيه كود معمول بالc# لو احد من يعرف يحوله للفيجوال يبقى فنان
كود :
   Dim script As String = File.ReadAllText(Application.StartupPath + "\SQLScript.sql")
                       Dim sqlqueries As String = script.Split(New[] {"GO"}, StringSplitOptions.RemoveEmptyEntries)
                       Dim conn As String = "Data Source=.\SQLEXPRESS;Integrated Security=True"
                       Dim CMD1 As New SqlClient.SqlCommand("query", connSQLServer)

                       connSQLServer.Open()

                       foreach(var qurey As VariantType)
                       {
                       CMD1.CommandText = qurey
                       CMD1.ExecuteNonQuery()
                       }
                        connSQLServer.Close()


الكود بالاعلى ليس بالسي شارب
اين الكود الذي بالسي شارب
الرد
تم الشكر بواسطة:
#6
PHP كود :
   Private Sub Button1_Click(sender As ObjectAs EventArgsHandles Button1.Click
        ExecutesqlFile
("(local)""TestTestD"Application.StartupPath "\SQLScript.sql")
 
   End Sub
    Public Sub ExecutesqlFile
(ByVal SERVAR_NAME_SQL As StringByVal DATABASE_NAME As StringByVal sqlFile As String)
 
       Using connection As New SqlClient.SqlConnection("Server =" SERVAR_NAME_SQL ";database=" DATABASE_NAME ";integrated security=true")
 
           If connection.State ConnectionState.Closed Then connection.Open()
 
           Dim sql As String ""
 
           Using strm As FileStream File.OpenRead(sqlFile)
 
               Dim reader As New StreamReader(strm)
 
               sql reader.ReadToEnd()
 
           End Using
            Dim regex 
As New Regex("^GO"RegexOptions.IgnoreCase Or RegexOptions.Multiline)
 
           Dim lines As String() = regex.Split(sql)
 
           Dim transaction As SqlClient.SqlTransaction connection.BeginTransaction()
 
           Using cmd As SqlClient.SqlCommand connection.CreateCommand()
 
               cmd.Connection connection
                cmd
.Transaction transaction
                ProgressBar1
.Step 1
                For Each line 
As String In lines
                    If line
.Length 0 Then
                        ProgressBar1
.Maximum line.Length 20
                        ProgressBar1
.Value line.Length
                        cmd
.CommandText line
                        cmd
.CommandType CommandType.Text
                        Try
                            cmd
.ExecuteNonQuery()
 
                       Catch generatedExceptionName As SqlClient.SqlException
                            MsgBox
(generatedExceptionName.MessageMsgBoxStyle.Critical"")
 
                           transaction.Rollback()
 
                           Throw
                        End 
Try
 
                   End If
 
               Next
                ProgressBar1
.Value ProgressBar1.Maximum
                MsgBox
("تمت عملية انشاء الجداول و الاستعلامات بنجاح"MsgBoxStyle.Information"")
 
           End Using
            transaction
.Commit()
 
           connection.Close()
 
       End Using
    End Sub 
الرد
تم الشكر بواسطة: 3booody , 3booody


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] اريد الربط بين البرنامج وقاعدة بيانات اكسس المرفوعة على الانترنت وشكرا Mina Botros 2 39 , 02:50 PM
آخر رد: Mina Botros
  كيفية حذف صف من قاعدة البيانات باستخدام الكومبوبكس الرائد 4 156 , 12:29 PM
آخر رد: abubasilIraq
  [VB.NET] حذف من جدولين في قاعدة البيانات Mtaktak 5 188 , 12:25 PM
آخر رد: Mtaktak
  [سؤال] ياشباب عاوز اتحكم في الروابط بتع البرنامج بتعي عن طريقه الدروب بوكس ازاي ؟ medowassem 0 72 20-01-20, 07:32 PM
آخر رد: medowassem
  سوال عن قاعدة بيانات sql ? nazarakrawi 3 105 18-01-20, 10:13 PM
آخر رد: boudyonline
  انشاء قاعدة بيانات المتألق9 1 92 13-01-20, 12:28 AM
آخر رد: asemshahen5
  [VB.NET] تـأخير غلق الفورم او البرنامج حتى ينتهي كل Backgroundworker من الأوامر larbihamri 6 174 12-01-20, 10:15 PM
آخر رد: محمد كريّم
  [سؤال] هل يلزم تصميم قاعدة البيانات ب اكسس 2007 فقط عمادمبارك 2 148 02-01-20, 09:47 PM
آخر رد: عمادمبارك
  [سؤال] قاعدة البيانات تأخذ وقت طويل لتحميل البيانات ma7ame7o 1 137 26-12-19, 02:45 AM
آخر رد: اسامه الهرماوي
  [VB.NET] كيف يمكنني استعادة جدول معين (جدول فقط) من قاعدة بيانات rizakflash8 6 215 25-12-19, 08:09 PM
آخر رد: rizakflash8

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم