تقييم الموضوع :
  • 1 أصوات - بمعدل 3
  • 1
  • 2
  • 3
  • 4
  • 5
كود الدخول للبرنامج بالادو كلاسيك و مساعده بالادو دوت نت كونيكتيد مود النظام المتصل
#1
السلام عليكم إخوانى بالمنتدى الكريم  vb4arb
هذاكود  شاشة الدخول للبرنامج يعمل 100% بس محتاج أنفذه بالادو دوتنت
أنا صممت برنامج لدخول الموظفين بالبنك باستخدام VB.NET 2010      & وقاعدة بيانات  SQL 2008
وذلك بتقنية الادو كلاسيك -  وأريد المساعده لكتابة شاشة اللوجين ولكن بالادو دوتنت نظام متصل "كونيكتيدمود"
قبل أن نبدأ ده توضيح لاآلية ومنطقية الكود
** من المنطقى هناك أربعة إحتمالات عند شاشة دخول أحد الموظفين
--إما أن يدخل إسم غير موجود بجدول الموظفين
--أوأنه ليس مديرا
--أو أنه أدمين مسجل لكن تفعيله متوقف
--أو أنه أدخل جميع بياناته صحيحه وهو أيضا أدمين وفى هذه الحاله له صلاحية الدخول
وسوف أوضح لحضراتكم ما عملته – أولا عملت داله(فنكشن)من قاعدة البيانات نفسها وسميتها"IsAdmin"

ALTER FUNCTION [dbo].[IsAdmin] (@UID NVARCHAR(15),@Pwd nvarchar(15))
returns int
as
Begin
Declare @St bit;
Declare @Ad bit;
Select @St=[Status] , @Ad=[Admin] from Employees where [UserName]= @UID and [Password] = @Pwd
   if @@ROWCOUNT=0
     Begin
       return (0)
     end
   if @Ad=0
     Begin
       return (1)
     end
   if @St=0
     Begin
       return (2)
     end

return (3)
end
ثانيا فى الموديل قمت بتعريف كائنات الاتصال بقاعدة البيانات
Module Module1
   Public CN As New ADODB.Connection
   Public Rst As New ADODB.Recordset
   Public p As Integer
   Public ms As String
   Public IDEMP As String
   Sub CONN()
       If Not CN.State = 1 Then
           CN.ConnectionString = "Driver={SQL Server Native Client 10.0};Server=EMANDO-PC;Database=ATM;Uid=sa;Pwd=sa5000;"
           CN.Open()
       End If
   End Sub

End Module


ثالثا كود مفتاح لوجين من شاشة دخول موظف بالبرنامج
   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       If Rst.State = 1 Then Rst.Close()

       Rst.Open("select dbo.isadmin ('" + TextBox1.Text + "','" + TextBox2.Text + "')", CN)

       If Rst(0).Value = 0 Then
           MsgBox("عفوا ليس لك صلاحيه" & vbCrLf & "خطأ فى إسم المستخدم أو كلمة المرور ", MsgBoxStyle.Critical, "نظام الموظفين")
       ElseIf Rst(0).Value = 1 Then
           MsgBox("عفوا ليس لك صلاحيه" & vbCrLf & "عفوا لست مسجل هنا ", MsgBoxStyle.Critical, " دخول نظام الموظفين")
       ElseIf Rst(0).Value = 2 Then
           MsgBox("عفوا ليس لك صلاحيه" & vbCrLf & "الحساب متوقف مؤقتا", MsgBoxStyle.Critical, "نظام الموظفين")
       ElseIf Rst(0).Value = 3 Then
           IDEMP = TextBox1.Text
           TextBox1.Text = ""
           TextBox2.Text = ""
           Me.Hide()
           frmMaster.ShowDialog()
           Exit Sub
       End If
       Dim uid As String = TextBox1.Text
       Dim pwd As String = TextBox2.Text
       Dim rs1 As New ADODB.Recordset
       Rst.Open("select dbo.isadmin('" + uid + "','" + pwd + "') as TT ", Cn)
       Dim I As Integer = Rst("TT").Value
       'MsgBox(I)
       Rst.Close()
       If I = 0 Then
           MsgBox("إسم المستخدم غير مسجل", MsgBoxStyle.Information, "دخول نظام الموظفين")
           Exit Sub
       End If
       If I = 1 Then
           MsgBox("عفوا ليس لك صلاحية الدخول هنا", MsgBoxStyle.Critical, "دخول نظام الموظفين")
           End
       End If
       If I = 2 Then
           MsgBox("عفوا تم إيقاف الحساب  مؤقتا", MsgBoxStyle.Critical, "دخول نظام الموظفين")
           End
       End If
       Try

           If TextBox1.Text = "" Then
               MsgBox("you should enter UserName", MsgBoxStyle.Critical Or MsgBoxStyle.OkOnly)
               TextBox1.Focus()
               Exit Sub
           End If
           If TextBox2.Text = "" Then
               MsgBox("you should enter Password", MsgBoxStyle.Critical Or MsgBoxStyle.OkOnly)
               TextBox2.Focus()
               Exit Sub
           End If

           rs1.Open("Select dbo.EmployeeStatus('" & TextBox1.Text & "','" & TextBox2.Text & "')", Cn)
           Dim H As Integer = rs1(0).Value
           'نغلق الاتصال هنا
           'حتى لا يعطى للمستخدم إعتراض بالمرحله القادمه حين يفتح الاتصال عند إدخال عميل جديد
           rs1.Close()
           If H = 0 Then
               MsgBox("يوجد خطأ فى إسم المستخدم أو كلمة المرور", MsgBoxStyle.Critical Or MsgBoxStyle.OkOnly, "Login")
               TextBox1.Focus()
               Exit Sub
           End If
           If H = 1 Then
               MsgBox("إسم المستخدم و كلمة المرور صحيحه ولكن حسابك متوقف", MsgBoxStyle.Critical, "Login")
               Exit Sub
           End If
           ' handle the error
       Catch ex As Exception
           MsgBox(ex.Message, MsgBoxStyle.Critical Or MsgBoxStyle.OkOnly, "Login")
           End
       End Try


       Me.Hide()
       frmMaster.ShowDialog()

   End Sub


بطلب المساعدة فى كود شاشة اللوجين كود الدخول ولكن باستخدام مكتبة الادودوت نت كونيكتيدمود النظام المتصل
أفادنا الله وإياكم
الرد }}}
تم الشكر بواسطة:
#2
(16-03-15, 12:42 AM)emando كتب : السلام عليكم إخوانى بالمنتدى الكريم  vb4arb
هذاكود  شاشة الدخول للبرنامج يعمل 100% بس محتاج أنفذه بالادو دوتنت
أنا صممت برنامج لدخول الموظفين بالبنك باستخدام VB.NET 2010      & وقاعدة بيانات  SQL 2008
وذلك بتقنية الادو كلاسيك -  وأريد المساعده لكتابة شاشة اللوجين ولكن بالادو دوتنت نظام متصل "كونيكتيدمود"
قبل أن نبدأ ده توضيح لاآلية ومنطقية الكود
** من المنطقى هناك أربعة إحتمالات عند شاشة دخول أحد الموظفين
--إما أن يدخل إسم غير موجود بجدول الموظفين
--أوأنه ليس مديرا
--أو أنه أدمين مسجل لكن تفعيله متوقف
--أو أنه أدخل جميع بياناته صحيحه وهو أيضا أدمين وفى هذه الحاله له صلاحية الدخول
وسوف أوضح لحضراتكم ما عملته – أولا عملت داله(فنكشن)من قاعدة البيانات نفسها وسميتها"IsAdmin"

ALTER FUNCTION [dbo].[IsAdmin] (@UID NVARCHAR(15),@Pwd nvarchar(15))
returns int
as
Begin
Declare @St bit;
Declare @Ad bit;
Select @St=[Status] , @Ad=[Admin] from Employees where [UserName]= @UID and [Password] = @Pwd
   if @@ROWCOUNT=0
     Begin
       return (0)
     end
   if @Ad=0
     Begin
       return (1)
     end
   if @St=0
     Begin
       return (2)
     end

return (3)
end
ثانيا فى الموديل قمت بتعريف كائنات الاتصال بقاعدة البيانات
Module Module1
   Public CN As New ADODB.Connection
   Public Rst As New ADODB.Recordset
   Public p As Integer
   Public ms As String
   Public IDEMP As String
   Sub CONN()
       If Not CN.State = 1 Then
           CN.ConnectionString = "Driver={SQL Server Native Client 10.0};Server=EMANDO-PC;Database=ATM;Uid=sa;Pwd=sa5000;"
           CN.Open()
       End If
   End Sub

End Module


ثالثا كود مفتاح لوجين من شاشة دخول موظف بالبرنامج
   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       If Rst.State = 1 Then Rst.Close()

       Rst.Open("select dbo.isadmin ('" + TextBox1.Text + "','" + TextBox2.Text + "')", CN)

       If Rst(0).Value = 0 Then
           MsgBox("عفوا ليس لك صلاحيه" & vbCrLf & "خطأ فى إسم المستخدم أو كلمة المرور ", MsgBoxStyle.Critical, "نظام الموظفين")
       ElseIf Rst(0).Value = 1 Then
           MsgBox("عفوا ليس لك صلاحيه" & vbCrLf & "عفوا لست مسجل هنا ", MsgBoxStyle.Critical, " دخول نظام الموظفين")
       ElseIf Rst(0).Value = 2 Then
           MsgBox("عفوا ليس لك صلاحيه" & vbCrLf & "الحساب متوقف مؤقتا", MsgBoxStyle.Critical, "نظام الموظفين")
       ElseIf Rst(0).Value = 3 Then
           IDEMP = TextBox1.Text
           TextBox1.Text = ""
           TextBox2.Text = ""
           Me.Hide()
           frmMaster.ShowDialog()
           Exit Sub
       End If
       Dim uid As String = TextBox1.Text
       Dim pwd As String = TextBox2.Text
       Dim rs1 As New ADODB.Recordset
       Rst.Open("select dbo.isadmin('" + uid + "','" + pwd + "') as TT ", Cn)
       Dim I As Integer = Rst("TT").Value
       'MsgBox(I)
       Rst.Close()
       If I = 0 Then
           MsgBox("إسم المستخدم غير مسجل", MsgBoxStyle.Information, "دخول نظام الموظفين")
           Exit Sub
       End If
       If I = 1 Then
           MsgBox("عفوا ليس لك صلاحية الدخول هنا", MsgBoxStyle.Critical, "دخول نظام الموظفين")
           End
       End If
       If I = 2 Then
           MsgBox("عفوا تم إيقاف الحساب  مؤقتا", MsgBoxStyle.Critical, "دخول نظام الموظفين")
           End
       End If
       Try

           If TextBox1.Text = "" Then
               MsgBox("you should enter UserName", MsgBoxStyle.Critical Or MsgBoxStyle.OkOnly)
               TextBox1.Focus()
               Exit Sub
           End If
           If TextBox2.Text = "" Then
               MsgBox("you should enter Password", MsgBoxStyle.Critical Or MsgBoxStyle.OkOnly)
               TextBox2.Focus()
               Exit Sub
           End If

           rs1.Open("Select dbo.EmployeeStatus('" & TextBox1.Text & "','" & TextBox2.Text & "')", Cn)
           Dim H As Integer = rs1(0).Value
           'نغلق الاتصال هنا
           'حتى لا يعطى للمستخدم إعتراض بالمرحله القادمه حين يفتح الاتصال عند إدخال عميل جديد
           rs1.Close()
           If H = 0 Then
               MsgBox("يوجد خطأ فى إسم المستخدم أو كلمة المرور", MsgBoxStyle.Critical Or MsgBoxStyle.OkOnly, "Login")
               TextBox1.Focus()
               Exit Sub
           End If
           If H = 1 Then
               MsgBox("إسم المستخدم و كلمة المرور صحيحه ولكن حسابك متوقف", MsgBoxStyle.Critical, "Login")
               Exit Sub
           End If
           ' handle the error
       Catch ex As Exception
           MsgBox(ex.Message, MsgBoxStyle.Critical Or MsgBoxStyle.OkOnly, "Login")
           End
       End Try


       Me.Hide()
       frmMaster.ShowDialog()

   End Sub


بطلب المساعدة فى كود شاشة اللوجين كود الدخول ولكن باستخدام مكتبة الادودوت نت كونيكتيدمود النظام المتصل
أفادنا الله وإياكم

اسف اخي رددت علي الموضوع بالخطا
انا اعرف الكود وكنت قد كتبته في كورس AGC
ارجو من التواصل معي لنتعاون في الكورس
الرد }}}
تم الشكر بواسطة:
#3
إخوانى لماذا لم يتم الرد على سؤالى حتى الان؟
رغم وجود عباقره بالبرمجه بهذا المنتدى وأرى أن سؤالى بسيط وسهل لهم وأنا مبتدئ وبحثت عن الاجابه عنه كتير منذ رفع هذا السؤال ولم أجد إلا أمثله بالنظام الدس?
الرد }}}
تم الشكر بواسطة:
#4
إخوانى لماذا لم يتم الرد على سؤالى حتى الان؟
رغم وجود عباقره بالبرمجه بهذا المنتدى وأرى أن سؤالى بسيط وسهل لهم وأنا مبتدئ وبحثت عن الاجابه عنه كتير منذ رفع هذا السؤال ولم أجد إلا أمثله بالنظام الدسكونيكتيدمود
إن أمكن أحد يرفع مثال لبرنامج صغير مكون من 2 فورم
1- فورم العملاء مثلا وعليها مفتاح إضافة عميل ومفتاح تعديل والحذف والبحث والتالى والسابق بالاكواد بنظام الادودوتنت النظام المتصل
2- فورم التقارير مع شرح ربط التقرير وكيفية كتابة الكود
وإن كان يوجد مثال لهذا مرفوع بالمنتدى سابقا أو بمنتديات أخرى أو اليوتيوب فرجاءا إعطائى الرابط الخاص به للإطلاع عليه
مشكوين أولا وأخيرا
***
الرد }}}
تم الشكر بواسطة:
#5
اخي الكريم حاول تغير طريقة السؤال يعني الكود طويل جدا و حاول تنسيقه بين الوسوم و ايضا لو ترفع المشروع يمكن احد الاخوة يستطيع مساعدتك و امل انت تجد حل لمشكلتك و لا تيأس .............. تحياتي
..................  و فوق كل ذي علم عليم  ................
الرد }}}
تم الشكر بواسطة:
#6
السلام عليكم
المشروع وقاعدة البيانات توجد فى مجلد مضغوط بعنوان test ado.net
ومضمونه عن النظام البنكى نظام الموظفين ونظام العملاءمن إيداع نقديه ومن سحب والبرنامج يحسب الرصيد من خلال فنكشن بداخل قاعدة البيانات
يوجد على هذا الرابط
https://www.dropbox.com/s/g1lodkazhq2vwu...t.rar?dl=0
من المهم وضع تفسير لكل كائنات قاعدة البيانات لفهم سير العمليات بداخلها وسهولة التعامل مع الكود عند كتابته فى بيئة فيجوال بيزيك دوتنت
ولهذا شرح لتصميم قاعدة البيانات بجداولها والاجراءات الفرعيه Procedures و الفنكشن Functions والديجرام Diagram_0
فإلى الشرح ويمكنكم الاطلاع على كل الكائنات من قاعدة البيانات المرفقه بالمشروع لتسهيل العمل
نصمم الجداول التاليه:-
جدول العملاء Customers

حقول الجدول
تسمية الحقل النوع السماح بفارغ (Null) التسميه وصف النوع
ID int رقم تسلسل العميل مفتاح أساسى وترقيم تلقائى من خاصية Is Identity=yes
FirstName Nvarchar(10) الاسم الاول حقل نصى طوله (10)
LastName Nvarchar(10) الاسم الاخير حقل نصى طوله (10)
Company Nvarchar(20) الشركه حقل نصى طوله (20)
JobTitle Nvarchar(50) الوظيفه حقل نصى طوله (50)
BusinessPhone Nvarchar(15) تليفون العمل حقل نصى طوله (15)
HomePhone Nvarchar(15) تليفون المنزل حقل نصى طوله (15)
MobilePhone Nvarchar(15) الموبايل حقل نصى طوله (15)
Email Nvarchar(30) البريد الالكترونى حقل نصى طوله (30)
Street Nvarchar(30) الشارع حقل نصى طوله (30)
City Nvarchar(15) المدينه حقل نصى طوله (15)
AccountNo Nvarchar(15) رقم حساب العميل حقل نصى طوله (15)
PinCode Nvarchar(10) الرقم الكودى حقل نصى طوله (10)
Status bit حالة التفعيل حقل نصى طوله (15)

جدول الإيداع Deposits

حقول الجدول
تسمية الحقل النوع السماح بفارغ (Null) التسميه وصف النوع
ID int رقم تسلسل العميل مفتاح أساسى وترقيم تلقائى من خاصية Is Identity=yes
CustomerID int رقم حساب العميل حقل رقمى
DateMove Datetime التاريخ حقل تاريخ
Amoun t int مبلغ الايداع حقل رقم عشرى ويقبل نقدىه
Details nvarchar(50) التفاصيل حقل نصى طوله (50)
EmployeeID int رقم الموظف حقل رقمى

جدول السحب Withdrawals

حقول الجدول
تسمية الحقل النوع السماح بفارغ (Null) التسميه وصف النوع
ID int رقم تسلسل العميل مفتاح أساسى وترقيم تلقائى من خاصية Is Identity=yes
CustomerID int رقم حساب العميل حقل رقمى
DateMove Datetime التاريخ حقل تاريخ
Amount int مبلغ السحب حقل رقم عشرى ويقبل نقدىه
Details nvarchar(50) التفاصيل حقل نصى طوله (50)
EmployeeID int رقم الموظف حقل رقمى
جدول الموظفين Employees

تسمية الحقل النوع ا لسماح بفارغ (Null) التسميه وصف النوع
ID int رقم تسلسل العميل مفتاح أساسى وترقيم تلقائى من خاصية Is Identity=yes
FirstName Nvarchar(10) الاسم الاول حقل نصى طوله (10)
LastName Nvarchar(10) الاسم الاخير حقل نصى طوله (10)
jobTitle Nvarchar(50) الوظيفه حقل نصى طوله (50)
BusinessPhone Nvarchar(15) تليفون العمل حقل نصى طوله (15)
HomePhone Nvarchar(15) تليفون المنزل حقل نصى طوله (15)
MobilePhone Nvarchar(15) الموبايل حقل نصى طوله (15)
Email Nvarchar(30) البريد الالكترونى حقل نصى طوله (30)
Street Nvarchar(30) الشارع حقل نصى طوله (30)
City Nvarchar(15) المدينه حقل نصى طوله (15)
UserName Nvarchar(15) إسم المستخدم حقل نصى طوله (15)
Password Nvarchar(15) كلمة السر حقل نصى طوله (15)
Status bit حالة التفعيل منطقى 0 أو 1 أو القيمه True أو False 0
CustomersForm bit شاشة العملاء "
DepositsForm bit شاشة الايداعات "
WithdrawalsForm bit شاشة السحب "
NewCustomers bit شاشة عميل جديد "
DeleteCustomer bit حذف عميل "
Admin bit مدير قاعدة البيانات "
حقول الجدول
جدول المستخدمين Users
************
ومن تقنية قواعد البيانات SQL Severe التى أثبتت نجاحها هو أمن وحماية البيانات Security
نستطيع أن نحدد من هم الذين لهم القدره والصلاحيه لمجرد رؤية فقط أو التعديل أو الحذف أو حتى إنشاء القواعد أو الجداول وإنشاء مستخدمين وعمل بعض الاجراءات الفرعيه التى تخدم المشروع ككل فهى تعتبر من مميزات هذا النوع من قواعد البيانات 0
****************
بعد ذلك أنشأنا مستخدم جديد لقاعدة البيانات ATM
New Login . نضغط زر الفأره اليمين و نختار Login نحدد Security
من تبويب Geeneral
ونسميه Dev1 Login name
ونعين له كلمة سر الدخول لقاعدة البيانات وهى 123 SQL Server authentication
ونحدد له صلاحياته:-
من تبويب User Mapping
نحدد قاعدة البياناتATM من Users Mapped to this Login:
نحدد علامة صح أمام db_owner Database Role membership for: ATM

إنشاء إجراءات فرعيه Procedures
Stored Procedures New Stored Procedure من Programmbility
** أو من شريط الادوات القياسى نضغط مفتاح New Query 0
كما نرى هنا مجموعة الاجراءات الفرعيه المستخدمه للمشروع الحالى 0
***
أول هذه الإجراءات هو إجراء للقيام بعملية الايداع dbo. AddDeposit من قاعدة البيانات 0
لتفتح شاشة فارغه لانشاء البروسيدجر فنكتب بها الكود كما ترى
شرح آلية هذا الاجراء الفرعى
عندما نبحث عن عميل من خلال رقم حسابه من الدوتنت وإستدعينا على هذا الاجراء الذى يقوم بعملية إيداع
مررنا له أربعة بارامترات والخامسه قيمة التارخ والتى سنمررها للقاعده من خلال مهامه أنشئت من قبل سنوضحها فيما بعد تأخذ التوقيت المصرى هذه المهمه dbo.EgyptDatTime
من خلال جملة Insert Into
والتى تتطلب إرسال هذه القيم من خلال شاشة الايداع بالدوتنت
--------------------.-.-.-.-.-.-.-.-------------------
ثانى هذه الإجراءات هو إجراء للقيام بعملية السحب dbo. Addwithdrawals من قاعدة البيانات 0
شرح آلية هذا الاجراء الفرعى
نفس ما حدث فى الاجراء الخاص بحركة الايداع ولكنه عمليه عكسيه هنا وتتطلب أربعة إحتمالات من هنا قبل الشروع فى هذا الحدث:
• التحقق من رصيد العميل قبل البدء
• التحقق من رقم حساب العميل
• التحقق من إسم الموظف المسئول
• إذا تحققت الشروط ينفذ عملية السحب
وطبع رساله تأكيد : ' The Operation Completed Succesfully '
++++++++********++++++++
المهام Functions
من شريط الادوات القياسى نضغط مفتاح New Query 0
أول هذه المهام هو مهمة معرفة حالة التفاعل للعميل dbo. CustomersStatus من قاعدة البيانات 0
شرح آلية CustomersStatus:
هذه المهمه نحتاجها عند دخول أحد العملاء من خلال ماكينات ال ATM بالشارع
للتأكد من حالة تفاعلية العميل لتعود به True or False .
بعد إختبار إسم المستخدم وكلمة المرور وهنا حددنا طول كلا المتغيرين مطابقة لطول الحقلين حجزنا متغير @Stc ليحمل قيمة حقل الحاله للعميل لتعود به لل Client ب True or False
وهنا مررنا ثلاثة بارامترات لرقم حساب عميل والرقم الكودى له والبرامتر الثالث هو حالة التفعيل للعميل .
ثم من جملة الاستعلام Select هنا نستفسر عن ذلك وتوجد ثلاث إحتمالات:
• أن العميل أدخل بيانات خاطئه (غير مسجله) وهنا يأتى دور الأمر @@ROWCOUNT
إذا رجعت بصفر تعنى أن العميل ليس مسجل وبالتالى سيخرج من الامر ولا يكمل 0
• إذا رجعت بواحد تعنى أن العميل موجود وحالته متوقف Suspend وبالتالى سيخرج من الامر ولا يكمل 0
• إذا رجعت بإثنين تعنى العميل موجود وحالته فعال وبالتالى سيكمل وينتقل للخطوه التاليه ليفتح للعميل 0
***********
ثانى هذه المهام هو مهمة معرفة التوقيت المصرى dbo. EgypteDateTimeمن قاعدة البيانات 0
شرح آلية dbo. EgypteDateTime:
تقوم هذه المهمه أنها تقوم بحساب الوقت والتاريخ حسب توقيت جرينتش فالداله
GETUTCDATE وظيفتها أنها تعود بالوقت والتاريخ حسب توقيت جرينتش
والداله DATEADD أنها تزيد الوقت والتاريخ
وبداخل القوس أدخلنا المعامل الزمنى للساعهHOUR والقيمه 2 ساعتين هى فارق الوقت بين مصر وبين جرينتش
ثالث: هذه المهام هو مهمة معرفة حالة التفاعل للعميل dbo. EmployeeStatusمن قاعدة البيانات 0
شرح آلية EmployeeStatus:
هذه المهمه للتأكد من حالة تفاعلية الموظف المسؤل عن السحب بالبنك لتعود به True or False
بعد إختبار إسم المستخدم وكلمة المرور وهنا حددنا طول كلا المتغيرين مطابقة لطول الحقلين حجزنا متغير @Stc ليحمل قيمة حقل الحاله للموظف لتعود به لل Client ب True or False
وهنا مررنا ثلاثة بارامترات لاسم المستخدم للموظف وكلمة المرور له والبرامتر الثالث هو حالة التفعيل للموظف.
ثم من جملة الاستعلام Select هنا نستفسر عن ذلك وتوجد ثلاث إحتمالات:
• أن الموظف أدخل بيانات خاطئه (غير مسجله) وهنا يأتى دور الأمر @@ROWCOUNT
إذا رجعت بصفر تعنى أن الموظف ليس مسجل وبالتالى سيخرج من الامر ولا يكمل 0
• إذا رجعت بواحد تعنى أن الموظف موجود وحالته متوقف Suspend وبالتالى سيخرج من الامر ولا يكمل 0
• الموظف موجود وحالته فعال وبالتالى سيكمل وينتقل للخطوه التاليه ليفتح للموظف 0

رابعا: هذه المهام هو مهمة معرفة حالة التفاعل للعميل dbo. GetBalanceمن قاعدة البيانات 0
شرح آلية GetBalance:
لحساب الرصيد الحالى للعميل نستعلم عنه بالجداول الثلاثه بدلالة رقم حساب العميل AccountNo
وحجزنا مخزن بالذاكره @AccNo ووضعنا به رقم العميل ID من جدول العملاء Customers
عندما يكون الرقم الذى أدخله الموظف يساوى رقم حساب العميل AccountNo
ونرى هنا المعامل الذى نوعه decimal لانه سيحمل مبالغ نقديه وبها كسور
ثم حجزن مخزن @TotalDeposits decimal ليجمع إيداعات هذا الحساب
ثم حجزن مخزن @TotalWithdrawals decimal ليجمع مسحوبات هذا الحساب
ثم حجزن مخزن @Balance decimal لطرح المسحوبات من الإيداعات
وهنا إستخدمنا coalesce لتعود بصفر عندما يكون إجمالى الايداعات أو المسحوبات = NUL

خامس: هذه المهام هو مهمة معرفة حالة التفاعل للعميل dbo.IsAdminمن قاعدة البيانات 0

شرح آلية GetBalance:
إرسال أربعة معاملات
حالة التفعيل Status @St
مدير قاعدة البيانات Admin @Ad
إسم الموظف UserName @UID
كلمة السر Password @Pwd

--هناك أربعة إحتمالات عند شاشة دخول أحد الموظفين عند تشغيل البرنامج
--إما أن يدخل إسم غير موجود بجدول الموظفين
--وأنه ليس مديرا
--أو أنه أدمين مسجل لكن تفعيله متوقف
--أو أنه أدخل جميع بياناته صحيحه وهو أيضا أدمين
أرجو دخول أحد لاستكمال كتابة الاكواد بالدوتنت 2010 VB.NT بمكتبة الادودوتنت النظام المتصل
وشاشات البرنامج جاهزه بأدواتها حتى الاكواد ولكنها مرتبطه بقاعدة البيانات من خلال مكتبة الادوكلاسيك وأنا عملت الاكواد الخاصه بها تعليق باللون الاخضر
كما حضراتكم سترونها ***
الرد }}}
تم الشكر بواسطة:
#7
السلام عليكم
لماذا لم يدخل أحد ليساعدنى فى بناء المشروع باستخدام مكتبة الادودوتنت النظام المتصل
Connected Mode ؟؟؟؟؟؟؟؟؟؟؟
مشروع النظام البنكى
الرد }}}
تم الشكر بواسطة:
#8
لماذا لم يتم الرد؟
الرد }}}
تم الشكر بواسطة:
#9
أين الرد يا أصدقائى أريد حلا لهذا الموضوع؟؟؟
الرد }}}
تم الشكر بواسطة:
#10
(22-04-15, 12:53 AM)emando كتب : لماذا لم يتم الرد؟

Confused انصحك بان نلا ترفع مشاريعك في المره القادمه فان كان هناك مبرمج حقيقي للرد الجيد سيكتفي بما قبل الكود وما بعده
Undecided لتصحيح ما بينهما او الاكتفا بالشرح.

كما ان مشروعك ان لم يتم فهمه فقد تم فهم المطلوب ومن السهل على المبرمجين في هذا المنتدى ايجاد البديل الذي يفي بالغرض
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  الرجاء الدخول والمساعدة alijtb82 0 377 05-12-22, 01:27 AM
آخر رد: alijtb82
  [سؤال] كنت محتاج مساعده بعمل مشروع تخرج انتخابات اونلاين ahmed nafea 0 1,652 22-04-21, 11:13 PM
آخر رد: ahmed nafea
  مساعده sokina 4 1,735 13-12-20, 03:11 AM
آخر رد: sokina
  [VB.NET] مشكلة فى زر Login الخاص بشاشة الدخول Michael Maher 6 3,648 18-05-18, 02:14 AM
آخر رد: Michael Maher
  اخواتي جزيتم خيرااا مساعده هنااا مشكورين مقدمااا امل عوض 8 3,066 12-09-17, 10:39 PM
آخر رد: ممدوح الخطيب
  مساعده فى تعديل كود فاتورة مبيعات نبيل كونكت 4 2,317 10-07-17, 08:49 PM
آخر رد: نبيل كونكت
  محتاج مساعده مستعجله مجموع اجور العمليات لكل طبيب مهندس حيدر 5 2,937 02-09-16, 12:35 PM
آخر رد: مهندس حيدر
  مساعده في عدم استجابة قاعدة البيانات الي التعديل في الداتا جريد فيو ِAbou Sama 4 3,022 25-12-15, 08:59 AM
آخر رد: silverlight
  [VB.NET] طلب مساعده بخصوص حفظ الصور بقاعدة البيانات moftah70 3 4,270 13-12-15, 07:21 AM
آخر رد: moftah70
  عدد السجلات فى الوضع المتصل صالح الشنطى 5 3,161 08-12-15, 01:55 AM
آخر رد: khodor1985

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


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