تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] كيفية عمل تعدد الشركات في البرنامج المحاسبي
#31
اخي الغزيز استبدل CreateDatabaseCompanys بالفنكشن الجديد او استبدل الاستعلام الموحود فيه بالاستعلام الموجود بالفنكشن .
الرد }}}
تم الشكر بواسطة:
#32
استاذى الكريم شكرااا لك
هل تقصد ان استبدل هذا الكود
كود :
Sub CreateDatabaseCompanys(ByVal Dgv As DataGridView)
       Dim StrSQL As String = "Create database Companys"
       Dim da As New System.Data.SqlClient.SqlDataAdapter(StrSQL, cn)
       Dim dt As New DataTable
       da.Fill(dt)
       CreateTable(Dgv)
   End Sub

بالكود الجديد
كود :
''' <summary>
   ''' Create Database For MS SQL Server
   ''' </summary>
   ''' <param name="DatabaseName">Database Name String</param>
   ''' <param name="DirectoryOfDatabase">Directory Of Database String</param>
   ''' <param name="CreateAndCode">Creat The Database And Write Code or Write Code</param>
   ''' <returns>Return True And Sql Query String,Return False And Sql Query String</returns>
   Function CreateDatabaseForMSSQLServer(ByVal DirectoryOfDatabase As String, ByVal DatabaseName As String, ByVal CreateAndCode As Boolean) As String
       Dim SqlStrXT As String = String.Empty
       Dim Con As New SqlConnection("Server =(local);database=master;integrated security=True")
       Try
           Dim DIR1 As String = ""
           Dim DIR2 As String = ""
           Dim DTTable As New DataTable
           DTTable.Clear()
           If Not IO.Directory.Exists(DirectoryOfDatabase & "\MyDATABASE_NAME") Then Directory.CreateDirectory(DirectoryOfDatabase & "\MyDATABASE_NAME")
           DIR1 = DirectoryOfDatabase & "\MyDATABASE_NAME\" & DatabaseName & ".mdf"
           DIR2 = DirectoryOfDatabase & "\MyDATABASE_NAME\" & DatabaseName & "_log.ldf"
           SqlStrXT = " CREATE DATABASE [" + DatabaseName + "] ON  PRIMARY ( NAME = N'" & DatabaseName & _
    "', FILENAME = N'" & DIR1 & "' , SIZE = 4096KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ) LOG ON ( NAME = N'" & _
    DatabaseName & "_log', FILENAME = N'" & DIR2 & "' , SIZE = 832KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)" & vbNewLine
           If CreateAndCode Then
               Dim da As New SqlClient.SqlDataAdapter(SqlStrXT, Con)
               If Con.State = ConnectionState.Closed Then Con.Open()
               da.Fill(DTTable)
               If Con.State = ConnectionState.Open Then Con.Close()
           End If
           MsgBox(SqlStrXT & vbNewLine & "Database Created Successfully", MsgBoxStyle.Information, "")
           If Con.State = ConnectionState.Open Then Con.Close()
           Return True & " - " & SqlStrXT '' &  vbNewLine  &  "Database Created Successfully"
       Catch ex As Exception
           MsgBox("Error : " & ex.Message, MsgBoxStyle.Critical, "Error")
           If Con.State = ConnectionState.Open Then Con.Close()
           Return False & " - " & SqlStrXT
       End Try
   End Function

عملت كده بس مفيش فايدة
انا اقصد تغيير مسار قواعد البيانات التى يتم انشائها والتى تخص الشركات وليس قاعدة بيانات company
هل من كود يضاف فى الاسكريبت الخاص بتكوين الداتا من خلال استخدام السيكوال يحل المشكلة


عنند استبدال الكود يظهر خطأ مرفق الصور


الملفات المرفقة صورة/صور
       
الرد }}}
تم الشكر بواسطة: asemshahen5
#33
هذا الفانكشن له 3 باراميترات :

DirectoryOfDatabase , DatabaseName , CreateAndCode

اي :


PHP كود :
'DirectoryOfDatabase مسار قاعدة البيانات'
'DatabaseName اسم قاعدة البيانات'
'CreateAndCode التأكيد على بناء قاعدة البيانات'
CreateDatabaseForMSSQLServer(DirectoryOfDatabase DatabaseName CreateAndCode
الرد }}}
تم الشكر بواسطة:
#34
(09-10-20, 04:04 PM)asemshahen5 كتب : هذا الفانكشن له 3 باراميترات :

DirectoryOfDatabase , DatabaseName , CreateAndCode

اي :


PHP كود :
'DirectoryOfDatabase مسار قاعدة البيانات'
'DatabaseName اسم قاعدة البيانات'
'CreateAndCode التأكيد على بناء قاعدة البيانات'
CreateDatabaseForMSSQLServer(DirectoryOfDatabase DatabaseName CreateAndCode


الملفات المرفقة صورة/صور
   
الرد }}}
تم الشكر بواسطة:
#35
با اخي بدل كتابة DirectoryOfDatabase ضع مسارك الذي تريد حفظ قاعدة البيانات به .
بدل كتابة DatabaseName ضع اسم قاعدة البيانات .
بدل CreateAndCode ضع true لتاكيد انشاء قاعدة البيانات و false لعدم انشائها .
الرد }}}
تم الشكر بواسطة: ahmedramzyaish
#36
(09-10-20, 08:27 PM)asemshahen5 كتب : با اخي بدل كتابة DirectoryOfDatabase ضع مسارك الذي تريد حفظ قاعدة البيانات به .
بدل كتابة DatabaseName ضع اسم قاعدة البيانات .
بدل CreateAndCode  ضع true لتاكيد انشاء قاعدة البيانات و false لعدم انشائها .

اخى الكريم اشكرك على تعبك معى
تم تنفيذ الكود وهو يعمل الان تمام ولكن ما يتم انشائة هو الداتا company
والتى تحتوى على بيانات الشركات وهى غير المقصودة
المقصود هو الداتا التى يتم انشائها من الاسكريبت والتى يكون اسمها StockDB1 او StockDB2 او اى اسم ياتى بعدهم

هما دو القواعد التى اريد ان احدد لها مكان ثابت بعيدا عن الدرايف c
والتى تنشأ نتيجه قرائة الاسكريبت
كود :
#Region "Creat Database And Table From Sql Scrpt"
    'يقرأ ملفات السكول سيرفر من ملفات التكست الموجودة في مسار البرنامج'
    Public Sub ExecutesqlFile(ByVal sqlFile As String, ByVal DatabaseName As String)
        Using connection As New SqlClient.SqlConnection("server=" & Servernametext & ";database=" & DatabaseName & ";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 RegularExpressions.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
                For Each line As String In lines
                    If line.Length > 0 Then
                        cmd.CommandText = line
                        cmd.CommandType = CommandType.Text
                        Try
                            cmd.ExecuteNonQuery()
                        Catch generatedExceptionName As SqlClient.SqlException
                            MsgBox(generatedExceptionName.Message, MsgBoxStyle.Critical, "")
                            transaction.Rollback()
                            Throw
                        End Try
                    End If
                Next
            End Using
            transaction.Commit()
            If connection.State = ConnectionState.Open Then connection.Close()
        End Using
    End Sub
#End Region

بمعنى انى عاوز ابعت للاسكريبت ده اسم قاعدة البيانات الى هى مثلا StockDB1 لانها بتكون متغيرة ومش هينفع تكون ثابتة فى ملف الاسكريبت
مثل
كود :
CREATE DATABASE [StockDB8] ON  PRIMARY
( NAME = N'StockDB8', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SERVER\MSSQL\DATA\StockDB8.mdf' , SIZE = 5376KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
LOG ON
( NAME = N'StockDB8_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SERVER\MSSQL\DATA\StockDB8_log.LDF' , SIZE = 4736KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO

هى دى الجملة الى عاوز اضفها للاسكريبت فى كل مرة انشئ فيها قاعدة جديدة لكن يكون متغير بها اسم الداتا ومتغير بها المسار

اسف على تكرار الاسئلة ولكن الموضوع هام بالنسبة لى واعرف كم تعبتك معى من بداية الموضوع وحتى الان ولكن لا املك الا ان اقدم لك كل الشكر والتقدير على ما تبذلة من جهد داخل المنتدى
اشكرك اخى الغالى عاصم
الرد }}}
تم الشكر بواسطة:
#37
اخي العزيز في نافذة : CreateCompany

عدل الكود التالي :

PHP كود :
Private Sub BtnUpdate_Click(sender As ObjectAs EventArgsHandles BtnUpdate.Click
        Dim SqlStrXT 
As String "create Database " Txt_DatabaseName.Text
        ExeSql
(SqlStrXT)
 
       Try
            ExecutesqlFile
(Application.StartupPath "\SqlCreateCompany.Sql"Txt_DatabaseName.Text)
 
       Catch ex As Exception
            MsgBox
(ex.Message)
 
           Exit Sub
        End 
Try
 
       Dim StrSQL As String "INSERT INTO CompanyName (ID,CompanyName,StartDate,EndDate,CompanyCase,ServerName,DatabaseName ) VALUES ('" Txt_ID.Text "','" Txt_CompanyName.Text "','" Dtp_StartDate.Value "','" Dtp_EndDate.Value "','" Chk_CompanyCase.Checked "','" Txt_ServerName.Text "','" Txt_DatabaseName.Text "')"
 
       ExeSql(StrSQL)
 
       BtnAdd.Enabled True
        BtnEdit
.Enabled True
        BtnDelete
.Enabled True
        BtnUpdate
.Enabled False
        BtnCancel
.Enabled False
    End Sub 
الرد }}}
تم الشكر بواسطة:
#38
(10-10-20, 06:07 PM)asemshahen5 كتب : اخي العزيز في نافذة : CreateCompany

عدل الكود التالي :

PHP كود :
Private Sub BtnUpdate_Click(sender As ObjectAs EventArgsHandles BtnUpdate.Click
        Dim SqlStrXT 
As String "create Database " Txt_DatabaseName.Text
        ExeSql
(SqlStrXT)
 
       Try
            ExecutesqlFile
(Application.StartupPath "\SqlCreateCompany.Sql"Txt_DatabaseName.Text)
 
       Catch ex As Exception
            MsgBox
(ex.Message)
 
           Exit Sub
        End 
Try
 
       Dim StrSQL As String "INSERT INTO CompanyName (ID,CompanyName,StartDate,EndDate,CompanyCase,ServerName,DatabaseName ) VALUES ('" Txt_ID.Text "','" Txt_CompanyName.Text "','" Dtp_StartDate.Value "','" Dtp_EndDate.Value "','" Chk_CompanyCase.Checked "','" Txt_ServerName.Text "','" Txt_DatabaseName.Text "')"
 
       ExeSql(StrSQL)
 
       BtnAdd.Enabled True
        BtnEdit
.Enabled True
        BtnDelete
.Enabled True
        BtnUpdate
.Enabled False
        BtnCancel
.Enabled False
    End Sub 

تمام
ظبط الكود
كيف تكون جملة الاتصال فى حالة الشبكة
بمعنى ان البرنامج يكون على جهاز والسيرفر على جهاز بالنسبة للجذء الاول للدخول على الداتا COMPANY
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  دورة كيفية تصميم برنامج محاسبة VB.NET+SQL محاسب يوسف 7 36,943 01-08-23, 05:25 PM
آخر رد: ibrahimibrahim
  كيفية تهيئة وتحديد مسار التثبيت وكذلك خيارت الاختصارات مع المعلومات [ الدرس الثاني ] elgokr 9 5,045 28-06-20, 06:10 PM
آخر رد: alsouf
  كيفية انشاء حقوق ملكية وشروط الاستخدام وافتتاحية التحزيم [ الدرس الاول ]. elgokr 23 9,554 28-06-20, 05:59 PM
آخر رد: alsouf
  ياشباب ممكن حد ياساعددني في البرنامج ده ؟ medowassem50 0 1,691 29-01-20, 08:41 PM
آخر رد: medowassem50
  كيفية اتمام شاشات بخصائص وخيارات تتيح للمستخدم حرية الاختيار [ الدرس الثالث ] elgokr 4 3,387 05-07-19, 08:17 PM
آخر رد: elgokr
  [VB.NET] عمل تحديث لمستخدمين البرنامج الخاص بك اونلاين عن طريق ال DropBox YousefOkasha 8 7,143 24-04-19, 03:50 PM
آخر رد: YousefOkasha
  [كود] change language of programm easy way by VB.Net تغيير لغة البرنامج بطريقة عالمية وبسي وعد مولود 1 2,708 27-08-18, 08:48 AM
آخر رد: elgokr
  [سؤال] عندي مشكلة لما انهيت البرنامج hamada_commerce 2 2,647 06-11-17, 03:48 PM
آخر رد: hamada_commerce

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


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