08-02-17, 08:30 AM
(07-02-17, 09:05 PM)مساعدة كتب : [ -> ]هنا سوف نعتمد على التاريخ وليس id تم إضافة عمود خاص بتاريخ اليوم في قاعدة البيانات في المرفقات
هذا التعديل يعمل على اساس التاريخ، اي لكل يوم عداد خاص به
كود :
Imports System.Data.SQLite
Public Class Form1
' الاتصال
Private con As New SQLiteConnection("Data Source = " & My.Application.Info.DirectoryPath & "\click.s3db;")
' متغير العداد
Private clickCount As Integer = 0
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
' قراءة البيانات
readData()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
' زيادة العداد
clickCount += 1
' تحديث السجل رقم 1 بقيمة العداد الحالية
Using cmd As New SQLiteCommand("UPDATE [click] SET [clickCount] = @clickCount WHERE [today] = @today ", con)
cmd.Parameters.AddWithValue("@clickCount", clickCount)
cmd.Parameters.AddWithValue("@today", Today.Date.ToString)
If con.State <> ConnectionState.Open Then con.Open()
cmd.ExecuteNonQuery()
con.Close()
End Using
' قراءة البيانات
readData()
End Sub
' قراءة البيانات
Private Sub readData()
' التأكد من وجود سجل بتاريخ اليوم
If Not isThereToday() Then
' إضافة سجل جديد
Insert()
End If
'------------------------------
' قراءة البيانات في السجل تاريخ اليوم
Using cmd As New SQLiteCommand("SELECT [clickCount] FROM [click] WHERE [today] = @today ", con)
cmd.Parameters.AddWithValue("@today", Today.Date.ToString)
If con.State <> ConnectionState.Open Then con.Open()
clickCount = cmd.ExecuteScalar
con.Close()
End Using
' إظهار القيمة
CountOut.Text = clickCount
End Sub
' التأكد من وجود سجل بتاريخ اليوم
Private Function isThereToday() As Boolean
Using cmd As New SQLiteCommand("SELECT COUNT( [today] ) FROM [click] WHERE [today] = @today ", con)
cmd.Parameters.AddWithValue("@today", Today.Date.ToString)
If con.State <> ConnectionState.Open Then con.Open()
Return If(cmd.ExecuteScalar > 0, True, False)
con.Close()
End Using
End Function
' إضافة سجل جديد
Private Sub Insert()
' إضافة سجل جديد
Using cmd As New SQLiteCommand("INSERT INTO [click] ( [today] , [clickCount] ) VALUES ( @today , 0 ) ", con)
cmd.Parameters.AddWithValue("@today", Today.Date.ToString)
If con.State <> ConnectionState.Open Then con.Open()
cmd.ExecuteNonQuery()
con.Close()
End Using
End Sub
End Class
تم معرفة تاريخ اليوم بالكود Today.Date.ToString لانه سوف يتجاهل الوقت، وهذا مهم إذا كان التركيز على التاريخ فقط
من جديد اقولك شكرا بار الله فيك
مقدر معروفك وتعبك معاي شكرا