السلام عليكم اخوان ارجوا ان تكونوا في تمام الصحة والعافية
اود مساعدة منكم لو تكرمتم في عمل الفكرة التالية والتي تتمثل في :
عندي جدول مستخدمين يحتوي على عمود [اخر زيارة] و اريد من خلال شاشة الدخول [اسم المستخدم]+[كلمة المرور] ان احدث عمود اخر زيارة لكل مستخدم اثناء دخوله للبرنامج
ملاحظة بالنسبة للمستخدم الحالي للبرنامج اريد ان اظهر اخر زيارة بالتاريح السابق و ليس الحالي
و اجركم على الله
كود :
Module Module1
Public con As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Database1.accdb")
Public lastVisit As Date
End Module
----------------------------------------------
Public Class Form1
Private Sub btnLogin_Click(sender As System.Object, e As System.EventArgs) Handles btnLogin.Click
lastVisit = Nothing
Using cmd As New OleDb.OleDbCommand("SELECT [LastVisit] FROM [Table1] WHERE ([UserName]=@un) AND ([Password]=@pw)", con)
cmd.Parameters.AddWithValue("@un", txtUserName.Text)
cmd.Parameters.AddWithValue("@pw", txtPassword.Text)
If con.State <> ConnectionState.Open Then con.Open()
Dim ret = cmd.ExecuteScalar
con.Close()
If ret IsNot Nothing Then
lastVisit = ret
cmd.CommandText = "UPDATE [Table1] SET [LastVisit]=Now WHERE ([UserName]=@un)"
If con.State <> ConnectionState.Open Then con.Open()
cmd.ExecuteNonQuery()
con.Close()
Form2.lblLastVisit.Text = "Last visit: " & lastVisit
MsgBox("Last visit: " & lastVisit)
Me.Hide()
Form2.ShowDialog()
Application.ExitThread()
Else
MsgBox("Username or Password not valid")
End If
End Using
End Sub
End Class
المطلوب عمل خطوتين :
الأولى : عند دخول المستخدم يتم تخزين آخر تاريخ في متغير .
الثانية : يتم تعديل التاريخ بالتاريخ الحالي للجهاز .
وفي أي شاشة تريد تعرف آخر تاريخ للزيارة تجلب التاريخ من المتغير .
شكرا لك اخي
اذا لم يكن في ذلك ازعاج ممكن تشرح لنا الكود اكثر
جزاك الله الف خير
(03-07-17, 01:30 PM)حريف برمجة كتب : [ -> ]المطلوب عمل خطوتين :
الأولى : عند دخول المستخدم يتم تخزين آخر تاريخ في متغير .
الثانية : يتم تعديل التاريخ بالتاريخ الحالي للجهاز .
وفي أي شاشة تريد تعرف آخر تاريخ للزيارة تجلب التاريخ من المتغير .
اريد ان يظهر تاريخ الزيارة في datagridview لكل مستخدم مع ظهور تاريخ اخر زيارة ايظا في label للمستخدم الحالي
كود :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim UserLogin As Boolean = False
Using da As New OleDb.OleDbDataAdapter("SELECT COUNT(*) FROM [Table1] WHERE ([UserName]=@un) AND ([Password]=@pw)", con)
da.SelectCommand.Parameters.AddWithValue("@un", txtUserName.Text)
da.SelectCommand.Parameters.AddWithValue("@pw", txtPassword.Text)
Dim dt As New DataTable
If da.Fill(dt) > 0 Then
UserLogin = True
Else
MsgBox("Username or Password not valid")
End If
End Using
If UserLogin Then
Using da As New OleDb.OleDbDataAdapter("SELECT * FROM [UserVisit] WHERE ([UserName]=@un)", con)
da.SelectCommand.Parameters.AddWithValue("@un", txtUserName.Text)
Dim dt As New DataTable
If da.Fill(dt) > 0 Then
Label1.Text = dt.Rows.Cast(Of DataRow).Last.Item("Visit")
Else
Label1.Text = "First visit."
End If
DataGridView1.DataSource = dt
End Using
Using cmd As New OleDb.OleDbCommand("INSERT INTO [UserVisit] ([UserName],[Visit]) VALUES(@un,Now)", con)
cmd.Parameters.AddWithValue("@un", txtUserName.Text)
If con.State <> ConnectionState.Open Then con.Open()
cmd.ExecuteNonQuery()
con.Close()
End Using
End If
End Sub
شكرا لك اخي على مرورك الرائع ما فهمته من الكود الذي طرحته انك تستعمل جدولين
Table1 و UserVisit بينما انا لدي جدول واحد به الاعمدة التالية
id_User
UserName
Password
pouvoir
last_Visit
هل من معدل على كود الاخ 20908 ليصبح الكود صالح على جدول واحد بدل اثنين