تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] مشكلة في برنامج لتسديد اشتراكات شهرية
#6
صديقي الموضوع بسيط جدا قم بعمل جدول للعقود اذا كان هناك عقد contracts :

con_id -رقم العقد
cust_id - رقم المشترك
con_duration - مده العقد ( 6 - 12- 24 ) بالشهر
price - لك الخيار بالسعر اذا اردت ضع السعر و من خلال مده العقد تستطيع تقسيم السعر على المدة لمعرفه سعر الشهري
date_start - تاريخ مختار 
date_end - التاريخ المختار + مده العقد 
note - لك الخيار
archive - وايضا لك الخيار لاضافه الارشفة 

بعد ذلك اعمل جدول للدفعات payments :

id
con_id - رقم العقد لعمل علاقه مع جدول العقود
pay_number - رقم الدفعه وهي الدفعات من مده العقد يعني لو العقد 6 شهور سيكون 6 اسطر في الجدول لنفس العقد من رقم 1 الى 6
pay_value - الدفعات المدفوعه من الزبون ( تستطيع ان تجعل الزبون يدفع لاكثر من مره نفس الشهر و من البرنامج تحدث قميه الدفعه او يكون الدفع لمره واحدة
must_paid - المبلغ الواجب دفعه لكل شهر ( ياتي من سعر العقد / مده العقد)
date - التاريخ ويكون حسب التاريخ الحالي فمثلا 08-01-2018 القميه المدخله الاولى، الدفعه الثانيه ستكون بعد شهر وستكون 08-02-2018 وهكذا
pay_status عمود نعم او لا مدفوع او غير مدفوع ( عند دفع اشتراك شهري اذهب وقارن المدفوع بالواجب دفعه اذا تساو اعمل تحديث انه مدفوع اذا لا لا يكون مدفوع
archive - أرشفه 

اضافه البيانات للعقد : 
PHP كود :
'فحص الاتصال بقاعدة البيانات
        If SQL.conn.State = ConnectionState.Open Then
            SQL.conn.Close()
        End If
        SQL.conn.Open()
        Dim cmd As New SqlCommand()
        cmd.CommandText = "insert into contracts (con_id,cust_id,shop_id,con_duration,price,con_use,rent_type,price2,note2,date_start,date_end,note,image_exist) values(@con_id,@cust_id,@con_duration,@price,@date_start,@date_end,@note)"
        cmd.Parameters.AddWithValue("@con_id", (cont_id_txt.Text))
        cmd.Parameters.AddWithValue("@cust_id", (cust_id_txt.Text))
        cmd.Parameters.AddWithValue("@shop_id", (shop_id_txt.Text))
        cmd.Parameters.AddWithValue("@con_duration", (Duration_txt.Text))
  cmd.Parameters.AddWithValue("@price", (price_txt.Text))
        cmd.Parameters.AddWithValue("@date_start", (date_start))
        cmd.Parameters.AddWithValue("@date_end", (date_end))
        cmd.Parameters.AddWithValue("@note", (note_txt.Text))
        cmd.Connection = SQL.conn
        cmd.ExecuteNonQuery()
        SQL.conn.Close()

 أدخال البيانات للدفع الشهري'
 Dim currentDate Datepicker1.Value
            
For 1 To Duration_txt.Text
                datee 
currentDate.AddMonths(+1)
                insertt()
            Next 

اما بالنسبه لطريقه for loop للادخال كالاتي :

PHP كود :
Dim i As Integer
    Dim datee 
As Date
    Private Sub insertt
()
 
       Try
            Dim must_paid 
As Decimal = (Val(price_txt.Text) + Val(add_price_txt.Text)) / Val(Duration_txt.Text)
 
           'فحص الاتصال بقاعدة البيانات
            If SQL.conn.State = ConnectionState.Open Then
                SQL.conn.Close()
            End If
            SQL.conn.Open()
            Dim cmd As New SqlCommand()
            cmd.CommandText = "insert into payments (con_id,pay_number,must_paid,date) values(@con_id,@pay_number,@must_paid,@date)"
            cmd.Parameters.AddWithValue("@con_id", ((cont_id_txt.Text) ))
            cmd.Parameters.AddWithValue("@pay_number", (i))
            cmd.Parameters.AddWithValue("@must_paid", (must_paid))
            cmd.Parameters.AddWithValue("@date", (datee))

            cmd.Connection = SQL.conn
            cmd.ExecuteNonQuery()
            SQL.conn.Close()

        Catch ex As SqlException
            MsgBox(ex.Message, MsgBoxStyle.Critical, "SQL Error")
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical, "General Error")
        End Try
    End Sub 
الرد }}}


الردود في هذا الموضوع
RE: مشكلة في برنامج لتسديد اشتراكات شهرية - بواسطة Rabeea Qbaha - 08-01-18, 06:06 PM


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


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