RE: كيفيه الاتصال باكثر من قاعده بياناتsql server - asemshahen5 - 14-08-19
الان نقوم بالتالي :
دبل كليك على My Project و نختار منها Settings و نقوم باضافة المتغيرين التاليين :
AdminUserID - AdminPassword
[attachment=22518]
و الان نقوم بعمل فورم جديدة نسميها AddAdminCompanys تكون كالتالي :
[attachment=22519]
و نكتب الكود التالي :
PHP كود :
Public Class AddAdminCompanys Private Sub BtnSave_Click(sender As Object, e As EventArgs) Handles BtnSave.Click If Txt_UserName.Text.Length = 0 Or Txt_Password1.Text.Length = 0 Or Txt_password2.Text.Length = 0 Then MsgBox("الرجاء تعبئة جميع الحقول") Exit Sub End If If Txt_Password1.Text = Txt_password2.Text Then My.Settings.AdminUserID = Txt_UserName.Text My.Settings.AdminPassword = Txt_Password1.Text My.Settings.Save() MsgBox("تم حفظ إعدادات مدير النظام") BtnSave.Enabled = False End If End Sub Private Sub BtnClose_Click(sender As Object, e As EventArgs) Handles BtnClose.Click If BtnSave.Enabled = False Then Dim Frm As New CreateCompany Frm.Show() Close() Else End End If End Sub End Class
و بكدا بنكون انهينا الفورم .
و نبدأ بعمل فورم جديدة اسمها CreateCompany و تكون كالتالي :
[attachment=22520]
و الان نقوم باضفة الكود التالي الى الموديول الذي قمنا بانشائه :
PHP كود :
Public Function MaxId(ID As String, TableName As String) As Integer Dim StrSQL As String = "Select IIF(Max(" & ID & ") Is NULL,1,Max(" & ID & ")+1) From " & TableName Dim da As New System.Data.SqlClient.SqlDataAdapter(StrSQL, con) Dim dt As New DataTable da.Fill(dt) Return dt.Rows(0)(0) End Function Public Sub ExeSql(StrSQL As String) Dim da As New System.Data.SqlClient.SqlDataAdapter(StrSQL, con) Dim dt As New DataTable da.Fill(dt) End Sub Public Function GetDatabaseName(StrSQL As String) As String Dim da As New System.Data.SqlClient.SqlDataAdapter(StrSQL, con) Dim dt As New DataTable da.Fill(dt) Return "stock" & dt.Rows.Count + 1 End Function
نعود للفورم و نكتب الاكواد التالية :
زر BtnADD :
PHP كود :
Private Sub BtnAdd_Click(sender As Object, e As EventArgs) Handles BtnAdd.Click Txt_CompanyName.Clear() Txt_DatabaseName.Clear() Txt_ServerName.Clear() Dtp_StartDate.Value = Now.ToString Dtp_EndDate.Value = Now.AddYears(1) Chk_CompanyCase.Checked = False Txt_ID.Text = MaxId("ID", "CompanyName") Txt_DatabaseName.Text = GetDatabaseName("select name from sysdatabases where name Like '%Stock%'") BtnAdd.Enabled = False BtnEdit.Enabled = False BtnDelete.Enabled = False BtnUpdate.Enabled = True BtnCancel.Enabled = True End Sub
زر BtnEdit :
PHP كود :
Private Sub BtnEdit_Click(sender As Object, e As EventArgs) Handles BtnEdit.Click Dim StrSQL As String = "UPDATE CompanyName SET CompanyName='" & Txt_CompanyName.Text & "', StartDate='" & Dtp_StartDate.Value & "', EndDate='" & Dtp_EndDate.Value & "', CompanyCase='" & Chk_CompanyCase.Checked & "', ServerName='" & Txt_ServerName.Text & "', DatabaseName='" & Txt_DatabaseName.Text & "' Where ID='" & Txt_ID.Text & "'" ExeSql(StrSQL) MsgBox("تمت عملية تعديل معلومات الشركة بنجاح") End Sub
زر BtnUpdate
قبل ذالك نضيف كود قرائة و تنفيذ الاستعلام من ملف سيكول طبعا يكون مكتوب فيه استعلامات انشاء قاعدة البيانات stock و المعلومات الاساسية لبعض الجداول مثال شجرة
الحسابات و ما الى ذالك الى الموديول :
PHP كود :
#Region "Creat Database And Table From Sql Scrpt" 'يقرأ ملفات السكول سيرفر من ملفات التكست الموجودة في مسار البرنامج' Public Sub ExecutesqlFile(ByVal sqlFile As String, DatabaseName As String) Using connection As New SqlClient.SqlConnection("Server =(local);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
و الان نضع كود الزر BtnUpdate :
PHP كود :
Private Sub BtnUpdate_Click(sender As Object, e As EventArgs) Handles 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
و الان نضيف فانكشن جديد للموديول :
PHP كود :
Public Function ExeSqlDT(StrSQL As String) As DataTable Dim da As New System.Data.SqlClient.SqlDataAdapter(StrSQL, con) Dim dt As New DataTable da.Fill(dt) Return dt End Function
و الان زر BtnCancel :
PHP كود :
Private Sub BtnCancel_Click(sender As Object, e As EventArgs) Handles BtnCancel.Click Dim StrSQL As String = "Select * From CompanyName" Dim DT As New DataTable DT.Clear() DT = ExeSqlDT(StrSQL) If DT.Rows.Count > 0 Then Txt_CompanyName.Text = DT.Rows(0)("CompanyName") Txt_DatabaseName.Text = DT.Rows(0)("DatabaseName") Txt_ID.Text = DT.Rows(0)("ID") Txt_ServerName.Text = DT.Rows(0)("ServerName") Dtp_StartDate.Value = CDate(DT.Rows(0)("StartDate")) Dtp_EndDate.Value = CDate(DT.Rows(0)("EndDate")) Chk_CompanyCase.Checked = CBool(DT.Rows(0)("CompanyCase")) End If BtnAdd.Enabled = True BtnEdit.Enabled = True BtnDelete.Enabled = True BtnUpdate.Enabled = False BtnCancel.Enabled = False End Sub
زر BtnDelete :
PHP كود :
Private Sub BtnDelete_Click(sender As Object, e As EventArgs) Handles BtnDelete.Click Dim StrSQL As String = "Delete From CompanyName Where ID = '" & Txt_ID.Text & "'" Dim TxtID As String = Txt_ID.Text If MsgBox("هل أنت متأكد من حذف السجل المحدد " & Txt_ID.Text, MsgBoxStyle.YesNo + MsgBoxStyle.Question + MsgBoxStyle.MsgBoxRight + MsgBoxStyle.MsgBoxRtlReading, "حذف سجل") = MsgBoxResult.Yes Then Dim SqlStrXT As String = "ALTER DATABASE [" & Txt_DatabaseName.Text & "] Set SINGLE_USER With ROLLBACK IMMEDIATE" & vbNewLine SqlStrXT += "DROP DATABASE [" & Txt_DatabaseName.Text & "]" & vbNewLine ExeSql(SqlStrXT) ExeSql(StrSQL) MsgBox("تم حذف السجل المحدد " & Txt_ID.Text & " بنجاح ", MsgBoxStyle.Information + MsgBoxStyle.MsgBoxRight + MsgBoxStyle.MsgBoxRtlReading, "حذف سجل") End If End Sub
زر BtnSearch :
PHP كود :
Private Sub BtnSearch_Click(sender As Object, e As EventArgs) Handles BtnSearch.Click Dim StrSQL As String = "Select * From CompanyName Where CompanyName = '" & TxtSearch.Text & "'" ExeSql(StrSQL) End Sub
زر BtnClose :
PHP كود :
Private Sub BtnClose_Click(sender As Object, e As EventArgs) Handles BtnClose.Click Close() End Sub
اذا وجدت عندك اي اخطاء استدع فضائات الاسماء التالية :
PHP كود :
Imports System.Text Imports System.Text.RegularExpressions Imports System.IO
نكمل في الحلقة القادمة .
RE: كيفيه الاتصال باكثر من قاعده بياناتsql server - ahmedramzyaish - 14-08-19
الف شكر على المجهود الرائع والشرح الواضح اى عبارات الشكر لاتكفيك
تم الحمد لله تطبيق الشرح بنجاح
ولا توجد أخطاء
ولكن عند الضغط على اضافة يخرج البرنامج وتظهر الرساله المرفقة
RE: كيفيه الاتصال باكثر من قاعده بياناتsql server - asemshahen5 - 14-08-19
نكمل الان نضيف فورم جديد و نسميه LoginAdminFrm و يكون كالتالي :
[attachment=22534]
نضع الكود التالي بداخله :
PHP كود :
Public Class LoginAdminFrm Private Sub BtnLogin_Click(sender As Object, e As EventArgs) Handles BtnLogin.Click If Txt_UserName.Text = My.Settings.AdminUserID And Txt_Password.Text = My.Settings.AdminPassword Then Dim Frm As New CreateCompany Frm.ShowDialog() Close() Else MsgBox("اسم المستخدم أو كلمة المرور خاطئة") End If End Sub Private Sub BtnClose_Click(sender As Object, e As EventArgs) Handles BtnClose.Click Close() End Sub End Class
وبذالك نكون قد انهينا النافذة .
نعود لنافذة CompanysFrm و نبدأ بكتابة الاكواد :
[attachment=22535]
في حدث تحميل الفورم Form1_Load نضع الكود التالي :
PHP كود :
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load FindDBComName(DataGridView1) If DataGridView1.Rows.Count = 0 Then If My.Settings.AdminUserID.Length = 0 Or My.Settings.AdminPassword.Length = 0 Then Dim Frm As New AddAdminCompanys Frm.ShowDialog() Else Dim Frm As New LoginAdminFrm Frm.ShowDialog() End If End If End Sub
و في زر BtnAddCompany نضع الكود التالي :
PHP كود :
If My.Settings.AdminUserID.Length = 0 Or My.Settings.AdminPassword.Length = 0 Then Dim Frm As New AddAdminCompanys Frm.ShowDialog() Else Dim Frm As New LoginAdminFrm Frm.ShowDialog() End If
و الان نأتي الى زر BtnDeleteCompany نضع نفس الكود السابق :
PHP كود :
Private Sub BtnDeleteCompany_Click(sender As Object, e As EventArgs) Handles BtnDeleteCompany.Click If My.Settings.AdminUserID.Length = 0 Or My.Settings.AdminPassword.Length = 0 Then Dim Frm As New AddAdminCompanys Frm.ShowDialog() Else Dim Frm As New LoginAdminFrm Frm.ShowDialog() End If End Sub
بقي أهم كود في البرنامج ككل كود زر BtnClose نضع الكود التالي :
PHP كود :
Private Sub BtnClose_Click(sender As Object, e As EventArgs) Handles BtnClose.Click Close() End Sub
و نكون بهذا انهينا النوافذ الخاصة بموضوع الشركات .
اعرف عندك سؤال كيف سأستفيد من كل هذا الموضوع الاساسي هو تسجل الدخول الى ملف قاعدة البيانات الخاص بشركة محددة و نص السؤال الاساسي ؟
نبدأ الان باذن الله .
نضيف مجلد جديد للمشروع نسميه CompanyForm نضع به :
نضيف الفورمات التالية و نسميهما MainForm - NewUserLogin - UserLogin .
و قبل البدا بعمل عليهم نسترجع بعض الذكرايات التالية :
كود ExecutesqlFile وو ظيفته 'يقرأ ملفات السكول سيرفر من ملفات التكست الموجودة في مسار البرنامج' لماذا هذا السب وضع الان سأقول لك نجهز سكربت كود
إنشاء الجداول التالية :
UserControl - AccountsTree ونعبئ جدول الشجرة المحاسبية بالسجلات وملف السكربت يوضع في مجلد Debug الخاص بالبرنامج .
سأرفق السكربت بالمرفقات .
نكمل بالحلقة القادمة .
ارني رسالة الخطأ و كود الاستدعاء و كود الاتصال على فكرة كل خطوة كتبتها طبقتها على مثال عندي قبل كتابتها .
[attachment=22531]
RE: كيفيه الاتصال باكثر من قاعده بياناتsql server - ahmedramzyaish - 14-08-19
مرفق ملف المشروع ارجو منك المراجعة لانى لا اعرف سبب الخطأ عندى
RE: كيفية عمل تعدد الشركات في البرنامج المحاسبي - asemshahen5 - 14-08-19
هذا ملف المشروع من عندي انا استعمل فيجوال استديو 2012 .
على فكرة لا يوجد عندك اي خطأ بالمشروع جربته شغال 100% تفقد الجدول في قاعدة البيانات .
[attachment=22538]
RE: كيفية عمل تعدد الشركات في البرنامج المحاسبي - ahmedramzyaish - 14-08-19
عفوا انا لا اقصد ان عندك خطأ
ولكن هل اضيف قاعدة بيانات اسمها Company
وافرد بها الاسكربت
RE: كيفية عمل تعدد الشركات في البرنامج المحاسبي - asemshahen5 - 14-08-19
قاعدة البيانات تنشأ تلقائيا مع الجدول عند اول تشغيل جرب السورس الموجود عندي بالمرفقات اذا ظهرت المشكلة صور الخطأ و ضع صورته .
بالنسبة لموضوع السكربت ضعه في مسار البرنامج فقط لا تفرده اواي شيئ عند إضافة شركة جديدة البرنامج بيفرده و ينشئ القاعدة مع الجداول التي به .
RE: كيفية عمل تعدد الشركات في البرنامج المحاسبي - ahmedramzyaish - 14-08-19
نفس المشكلة
RE: كيفية عمل تعدد الشركات في البرنامج المحاسبي - asemshahen5 - 15-08-19
بعد ان حلت المشكلة باذن الله نتابع ما بدأناه .
أولا نعرف متغيير من نوع سترغ داخل السيتنغ بـ اسم DatabaseName كالتالي :
[attachment=22549]
ثم نذهب الى الداتا غيرد فيو في نافذة CompanysFrm و نختار الحدث CellDoubleClick و نكتب الكود التالي :
قبل ذالك نقوم بتعريف متغيير في المديول بنفس الاسم ليكون كالتالي :
PHP كود :
Public DatabaseNameXT As String
الكود الخاص بالدتا غريد فيو :
PHP كود :
Private Sub DataGridView1_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellDoubleClick My.Settings.DatabaseName = DataGridView1.CurrentRow.Cells("DatabaseName").Value My.Settings.Save() DatabaseNameXT = DataGridView1.CurrentRow.Cells("DatabaseName").Value Dim StrSQL As String = "Select * From UserControl " If ExeSqlUserDT(StrSQL).Rows.Count > 0 Then Dim Frm As New UserLogin Frm.Show() Close() Else Dim Frm As New NewUserLogin Frm.Show() Close() End If End Sub
والان كود زر فتح BtnOpenCompany :
PHP كود :
Private Sub BtnOpenCompany_Click(sender As Object, e As EventArgs) Handles BtnOpenCompany.Click My.Settings.DatabaseName = DataGridView1.CurrentRow.Cells("DatabaseName").Value My.Settings.Save() DatabaseNameXT = DataGridView1.CurrentRow.Cells("DatabaseName").Value Dim StrSQL As String = "Select * From UserControl " If ExeSqlUserDT(StrSQL).Rows.Count > 0 Then Dim Frm As New UserLogin Frm.Show() Close() Else Dim Frm As New NewUserLogin Frm.Show() Close() End If End Sub
الان نذهب الى خصائص البرنامج Application -> Shutdown mode و نختار When last form closes كالتالي :
[attachment=22550]
و الان نبدأ بنافذة NewUserLogin :
لتكون كالشكل التالي :
[attachment=22551]
الان نبدأ بكتابة الكود :
كود زر BtnAdd :
PHP كود :
Private Sub BtnAdd_Click(sender As Object, e As EventArgs) Handles BtnAdd.Click Dim StrSQL As String = "Select IIF(Max(ID) Is NULL,1,Max(ID)+1) From UserControl" For Each Cntrl As Control In Me.Controls If TypeOf Cntrl Is TextBox Then Cntrl.Text = String.Empty End If If TypeOf Cntrl Is CheckBox Then Dim obg As CheckBox = Cntrl obg.Checked = False End If Next Txt_ID.Text = ExeSqlUserDT(StrSQL).Rows(0)(0) BtnAdd.Enabled = False BtnEdit.Enabled = False BtnDelete.Enabled = False BtnUpdate.Enabled = True BtnCancel.Enabled = True End Sub
كود زر BtnEdit :
PHP كود :
Private Sub BtnEdit_Click(sender As Object, e As EventArgs) Handles BtnEdit.Click Dim StrSQL As String = "UPDATE UserControl SET FullName='" & Txt_FullName.Text & "', User_Name='" _ & Txt_User_Name.Text & "', User_Password='" & Txt_User_Password.Text & "', ViewForm='" & Chk_ViewForm.Checked _ & "', AddRecord='" & Chk_AddRecord.Checked & "', EditRecord='" & Chk_EditRecord.Checked & "', DeleteRecod='" _ & Chk_DeleteRecod.Checked & "', PrintRecord='" & Chk_PrintRecord.Checked & "', FindRecord='" & Chk_FindRecord.Checked _ & "', Import='" & Chk_Import.Checked & "', Export='" & Chk_Export.Checked & "' Where ID=" & Txt_ID.Text ExeSqlUser(StrSQL) NewUserLogin_Load(Nothing, Nothing) End Sub
كود زر BtnUpdate :
PHP كود :
Private Sub BtnUpdate_Click(sender As Object, e As EventArgs) Handles BtnUpdate.Click Dim StrSQL As String = "INSERT INTO UserControl (ID,FullName,User_Name,User_Password,ViewForm,AddRecord,EditRecord,DeleteRecod,PrintRecord,FindRecord,Import,Export ) VALUES ('" _ & Txt_ID.Text & "','" & Txt_FullName.Text & "','" & Txt_User_Name.Text & "','" & Txt_User_Password.Text & "','" _ & Chk_ViewForm.Checked & "','" & Chk_AddRecord.Checked & "','" & Chk_EditRecord.Checked & "','" & Chk_DeleteRecod.Checked _ & "','" & Chk_PrintRecord.Checked & "','" & Chk_FindRecord.Checked & "','" & Chk_Import.Checked & "','" _ & Chk_Export.Checked & "')" ExeSqlUser(StrSQL) BtnAdd.Enabled = True BtnEdit.Enabled = True BtnDelete.Enabled = True BtnUpdate.Enabled = False BtnCancel.Enabled = False NewUserLogin_Load(Nothing, Nothing) End Sub
كود زر BtnCancel :
PHP كود :
Private Sub BtnCancel_Click(sender As Object, e As EventArgs) Handles BtnCancel.Click BtnAdd.Enabled = True BtnEdit.Enabled = True BtnDelete.Enabled = True BtnUpdate.Enabled = False BtnCancel.Enabled = False NewUserLogin_Load(sender, e) End Sub
كود زر BtnDelete :
PHP كود :
Private Sub BtnDelete_Click(sender As Object, e As EventArgs) Handles BtnDelete.Click Dim StrSQL As String = "Delete From UserControl Where ID = '" & Txt_ID.Text & "'" Dim TxtID As String = Txt_ID.Text If MsgBox("هل أنت متأكد من حذف السجل المحدد " & Txt_ID.Text, MsgBoxStyle.YesNo + MsgBoxStyle.Question + MsgBoxStyle.MsgBoxRight + MsgBoxStyle.MsgBoxRtlReading, "حذف سجل") = MsgBoxResult.Yes Then ExeSqlUser(StrSQL) MsgBox("تم حذف السجل المحدد " & Txt_ID.Text & " بنجاح ", MsgBoxStyle.Information + MsgBoxStyle.MsgBoxRight + MsgBoxStyle.MsgBoxRtlReading, "حذف سجل") End If NewUserLogin_Load(Nothing, Nothing) End Sub
كود زر BtnSearch :
PHP كود :
Private Sub BtnSearch_Click(sender As Object, e As EventArgs) Handles BtnSearch.Click Dim StrSQL As String = "Select * From UserControl Where FullName Like '%" & TxtSearch.Text & "%'" Dgv_Table.Rows.Clear() For Each row As DataRow In ExeSqlUserDT(StrSQL).Rows Dgv_Table.Rows.Add(row.ItemArray) Next End Sub
كود زر BtnClose :
PHP كود :
Private Sub BtnClose_Click(sender As Object, e As EventArgs) Handles BtnClose.Click Close() End Sub
كود اللود فورم :
PHP كود :
Private Sub NewUserLogin_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim StrSQL As String = "Select * From UserControl " Dim dt As New DataTable dt.Clear() dt = ExeSqlUserDT(StrSQL) LoadRows(dt, 0) Dgv_Table.Rows.Clear() For Each row As DataRow In dt.Rows Dgv_Table.Rows.Add(row.ItemArray) Next End Sub
كود تحميل السجلات :
PHP كود :
Sub LoadRows(dt As DataTable, Num As Integer) If dt.Rows.Count = 0 Then Exit Sub End If Txt_ID.Text = dt(Num)("ID").ToString Txt_FullName.Text = dt(Num)("FullName").ToString Txt_User_Name.Text = dt(Num)("User_Name").ToString Txt_User_Password.Text = dt(Num)("User_Password").ToString Chk_ViewForm.Checked = dt(Num)("ViewForm").ToString Chk_AddRecord.Checked = dt(Num)("AddRecord").ToString Chk_EditRecord.Checked = dt(Num)("EditRecord").ToString Chk_DeleteRecod.Checked = dt(Num)("DeleteRecod").ToString Chk_PrintRecord.Checked = dt(Num)("PrintRecord").ToString Chk_FindRecord.Checked = dt(Num)("FindRecord").ToString Chk_Import.Checked = dt(Num)("Import").ToString Chk_Export.Checked = dt(Num)("Export").ToString End Sub
كود الضغط على الداتا غريد فيو :
PHP كود :
Private Sub Dgv_Table_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles Dgv_Table.CellClick Dim StrSQL As String = "Select * From UserControl where ID=" & Dgv_Table.CurrentRow.Cells(0).Value LoadRows(ExeSqlUserDT(StrSQL), 0) End Sub
نتابع بالحلقة القادمة .
و الان نافذة تسجيل الدخول UserLogin و تكون كالتالي :
[attachment=22552]
قبل اضافة الكود نضيف المتغيرين التالين الى المديول :
PHP كود :
Public DatabaseNameXT As String Public UserNameXT As String
و الان نكتب الاكواد التالية :
PHP كود :
Private Sub BtnClose_Click(sender As Object, e As EventArgs) Handles BtnClose.Click Close() End Sub Private Sub BtnLogin_Click(sender As Object, e As EventArgs) Handles BtnLogin.Click Dim StrSQL As String = "Select * From UserControl Where User_Name = '" & Txt_User_Name.Text & "' And User_Password = '" & Txt_User_Password.Text & "'" Dim DT As New DataTable DT.Clear() DT = ExeSqlUserDT(StrSQL) If DT.Rows.Count > 0 Then If DT.Rows(0)("User_Name") = Txt_User_Name.Text And DT.Rows(0)("User_Password") = Txt_User_Password.Text Then Dim Frm As New MainForm UserNameXT = Txt_User_Name.Text Frm.Show() Close() Else MsgBox("خطأ في اسم المستخدم او كلمة المرور") End If Else MsgBox("خطأ في اسم المستخدم او كلمة المرور") End If End Sub
و اخيرا نافذة MainForm تكون كالتالي :
[attachment=22553]
و نكتب الكود التالي بها :
PHP كود :
Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load TSSLBLDBNAME.Text = DatabaseNameXT TSSLBLUser.Text = UserNameXT DataGridView1.DataSource = ExeSqlUserDT("Select * From AccountsTree") TSSLBLRecordCount.Text = DataGridView1.Rows.Count & " - Record" DataGridView1.Columns(4).AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill DataGridView1.DefaultCellStyle.BackColor = Color.FromArgb(255, 255, 255) DataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.FromArgb(255, 255, 192) End Sub
[attachment=22560]
--------------------------
[attachment=22561]
--------------------------
[attachment=22564]
--------------------------
[attachment=22565]
--------------------------
نضيف هذه الاكواد الى الموديول :
PHP كود :
Public Sub ExeSqlUser(StrSQL As String) ' 'Dim conn As New System.Data.SqlClient.SqlConnection("Server =(local);database=" & My.Settings.DatabaseName & ";integrated security=false;User ID=Test;Password=123456789") Dim da As New System.Data.SqlClient.SqlDataAdapter(StrSQL, OpenCon) Dim dt As New DataTable da.Fill(dt) End Sub Public Function ExeSqlUserDT(StrSQL As String) As DataTable Dim da As New System.Data.SqlClient.SqlDataAdapter(StrSQL, OpenCon) Dim dt As New DataTable da.Fill(dt) Return dt End Function Function OpenCon() As SqlClient.SqlConnection Dim conn As New System.Data.SqlClient.SqlConnection("Server =(local);database=" & My.Settings.DatabaseName & ";integrated security=true") Return conn End Function
انتهى الموضوع اي سؤال او استفسار ؟
RE: كيفية عمل تعدد الشركات في البرنامج المحاسبي - atefkhalf2004 - 15-08-19
برجاء رفع المثال بعد هذا الشرح الرائع
|