Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Button2.Enabled = False
If lblDisplay.Text = "0" Then
count += 1
Else
count = 1
End If
Dim con As New SQLiteConnection("Data Source= " & My.Application.Info.DirectoryPath & "\info.s3db")
Dim cmd As New SQLiteCommand("UPDATE info SET status=@status WHERE id=@id ", con)
con.Open()
cmd.Parameters.AddWithValue("@status", count)
cmd.Parameters.AddWithValue("@id", getid)
cmd.ExecuteNonQuery()
cmd.Dispose()
con.Close()
Dim SQLconnect As New SQLite.SQLiteConnection()
Dim SQLcommand As SQLiteCommand
SQLconnect.ConnectionString = "Data Source= " & My.Application.Info.DirectoryPath & "\info2.s3db"
SQLconnect.Open()
SQLcommand = SQLconnect.CreateCommand
SQLcommand.CommandText = "INSERT INTO info2 (CALLop,qso_dated) Values (@CALLop,@qso_date)"
SQLcommand.Parameters.AddWithValue("@CALLop", calls.Text)
SQLcommand.Parameters.AddWithValue("@qso_date", qso_date.Text)
SQLcommand.ExecuteNonQuery()
SQLcommand.Dispose()
SQLconnect.Close()
اذا كانت قاعده البيانات مضافة للمشروع
اذهب لقاعدة البيانات في المشروع واضغط عليها عشان تحددها بعدين في الخصايص غير copy to directory output الى copy if new
لان الحفظ يتم على النسخة الي في المجلد debug
لكن الفجوال اذا عدلت فيه اي شي يرجع يضع نسخة ملف البيانات اللي في المشروع
من جديد في المجلد debug وبكذا يتلغي البيانات الي انت حفظها في التشغي السابق
تفضل تعديل الكود وفي المرفقات قاعدة البيانات وتم فيها اضافة الجدول
كود :
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 [id] = @id ", con)
cmd.Parameters.AddWithValue("@clickCount", clickCount)
cmd.Parameters.AddWithValue("@id", 1)
If con.State <> ConnectionState.Open Then con.Open()
cmd.ExecuteNonQuery()
con.Close()
End Using
' قراءة البيانات
readData()
End Sub
' قراءة البيانات
Private Sub readData()
' التأكد من وجود سجل برقم 1
If Not isThereId(1) Then
' إضافة سجل جديد
Insert()
End If
'------------------------------
' قراءة البيانات في السجل رقم 1
Using cmd As New SQLiteCommand("SELECT [clickCount] FROM [click] WHERE [id]=@id ", con)
cmd.Parameters.AddWithValue("@id", 1)
If con.State <> ConnectionState.Open Then con.Open()
clickCount = cmd.ExecuteScalar
con.Close()
End Using
' إظهار القيمة
CountOut.Text = clickCount
End Sub
' التأكد من وجود سجل برقم محدد
Private Function isThereId(id As Integer) As Boolean
Using cmd As New SQLiteCommand("SELECT COUNT( [id] ) FROM [click] WHERE [id] = @id ", con)
cmd.Parameters.AddWithValue("@id", 1)
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] ( [clickCount] ) VALUES ( 0 ) ", con)
cmd.Parameters.AddWithValue("@id", 1)
If con.State <> ConnectionState.Open Then con.Open()
cmd.ExecuteNonQuery()
con.Close()
(06-02-17, 08:48 PM)مساعدة كتب : لا يوجد جدول في قاعدة البيانات
تفضل تعديل الكود وفي المرفقات قاعدة البيانات وتم فيها اضافة الجدول
كود :
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 [id] = @id ", con)
cmd.Parameters.AddWithValue("@clickCount", clickCount)
cmd.Parameters.AddWithValue("@id", 1)
If con.State <> ConnectionState.Open Then con.Open()
cmd.ExecuteNonQuery()
con.Close()
End Using
' قراءة البيانات
readData()
End Sub
' قراءة البيانات
Private Sub readData()
' التأكد من وجود سجل برقم 1
If Not isThereId(1) Then
' إضافة سجل جديد
Insert()
End If
'------------------------------
' قراءة البيانات في السجل رقم 1
Using cmd As New SQLiteCommand("SELECT [clickCount] FROM [click] WHERE [id]=@id ", con)
cmd.Parameters.AddWithValue("@id", 1)
If con.State <> ConnectionState.Open Then con.Open()
clickCount = cmd.ExecuteScalar
con.Close()
End Using
' إظهار القيمة
CountOut.Text = clickCount
End Sub
' التأكد من وجود سجل برقم محدد
Private Function isThereId(id As Integer) As Boolean
Using cmd As New SQLiteCommand("SELECT COUNT( [id] ) FROM [click] WHERE [id] = @id ", con)
cmd.Parameters.AddWithValue("@id", 1)
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] ( [clickCount] ) VALUES ( 0 ) ", con)
cmd.Parameters.AddWithValue("@id", 1)
If con.State <> ConnectionState.Open Then con.Open()
cmd.ExecuteNonQuery()
con.Close()
End Using
End Sub
End Class
ما نستغنى عنك وعن خدماتك بارك الله فيك فعلا ضبط معاي والحمدالله
(06-02-17, 08:48 PM)مساعدة كتب : لا يوجد جدول في قاعدة البيانات
تفضل تعديل الكود وفي المرفقات قاعدة البيانات وتم فيها اضافة الجدول
كود :
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 [id] = @id ", con)
cmd.Parameters.AddWithValue("@clickCount", clickCount)
cmd.Parameters.AddWithValue("@id", 1)
If con.State <> ConnectionState.Open Then con.Open()
cmd.ExecuteNonQuery()
con.Close()
End Using
' قراءة البيانات
readData()
End Sub
' قراءة البيانات
Private Sub readData()
' التأكد من وجود سجل برقم 1
If Not isThereId(1) Then
' إضافة سجل جديد
Insert()
End If
'------------------------------
' قراءة البيانات في السجل رقم 1
Using cmd As New SQLiteCommand("SELECT [clickCount] FROM [click] WHERE [id]=@id ", con)
cmd.Parameters.AddWithValue("@id", 1)
If con.State <> ConnectionState.Open Then con.Open()
clickCount = cmd.ExecuteScalar
con.Close()
End Using
' إظهار القيمة
CountOut.Text = clickCount
End Sub
' التأكد من وجود سجل برقم محدد
Private Function isThereId(id As Integer) As Boolean
Using cmd As New SQLiteCommand("SELECT COUNT( [id] ) FROM [click] WHERE [id] = @id ", con)
cmd.Parameters.AddWithValue("@id", 1)
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] ( [clickCount] ) VALUES ( 0 ) ", con)
cmd.Parameters.AddWithValue("@id", 1)
If con.State <> ConnectionState.Open Then con.Open()
cmd.ExecuteNonQuery()
con.Close()
07-02-17, 09:05 PM (آخر تعديل لهذه المشاركة : 07-02-17, 09:11 PM {2} بواسطة مساعدة.)
هنا سوف نعتمد على التاريخ وليس 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 لانه سوف يتجاهل الوقت، وهذا مهم إذا كان التركيز على التاريخ فقط