منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] هل الكود هذا صحيح - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] هل الكود هذا صحيح (/showthread.php?tid=18647)

الصفحات: 1 2


هل الكود هذا صحيح - dubai.eig - 31-12-16

السلام عليكم ورحمة الله 

من يومين احاول وابحث عن حل لكود  التحديث وموب ضابط معاي

الكود 

كود :
 Dim con As New SQLiteConnection("Data Source=tables.s3db")

           Dim cmdi As New SQLiteCommand(" SELECT COUNT(*) FROM table WHERE name = @name  and   Date = @Date  and  time = @time", con)
           cmdi.Parameters.AddWithValue("@name", DataGridView1.Rows(i).Cells(1).Value)
           cmdi.Parameters.AddWithValue("@Date", DataGridView1.Rows(i).Cells(2).Value)
           cmdi.Parameters.AddWithValue("@time", DataGridView1.Rows(i).Cells(3).Value)


           con.Open()
           If cmdi.ExecuteScalar = 0 Then

               Dim rcvd As String = String.Empty
               rcvd = "Y"
           
               Dim cmd As New SQLiteCommand("UPDATE table SET trcvd=@trcvd WHERE name=@name AND Date=@Date AND time=@time", con)
               cmd.Parameters.AddWithValue("@trcvd", rcvd)
               cmd.Parameters.AddWithValue("@name", DataGridView1.Rows(i).Cells(1).Value)
               cmd.Parameters.AddWithValue("@Date", DataGridView1.Rows(i).Cells(2).Value)
               cmd.Parameters.AddWithValue("@time", DataGridView1.Rows(i).Cells(3).Value)
               cmd.ExecuteNonQuery()
               con.Close()


           Else
              MsgBox("No Records Found")
           End If


عمل الكود في القاعده عندي اسم احمد موجود اكثر من مرة وبتاريخ ووقت مختلف

كود :
name  -       Date    -  time  -  trcvd

Ahmed  -  11/05/2016  -  11:02  -  N

Ahmed  -  20/03/2016  -  12:12  -  N

Ahmed  -  30/09/2016  -  01:09  -  N

Ahmed  -  15/11/2016  -  06:55  -  N



الكود يبحث في القاعده عن اسم احمد بتاريخ  ووقت معين  واذا حصله

كود :
 Dim con As New SQLiteConnection("Data Source=tables.s3db")

           Dim cmdi As New SQLiteCommand(" SELECT COUNT(*) FROM table WHERE name = @name  and   Date = @Date  and  time = @time", con)
           cmdi.Parameters.AddWithValue("@name", DataGridView1.Rows(i).Cells(1).Value)
           cmdi.Parameters.AddWithValue("@Date", DataGridView1.Rows(i).Cells(2).Value)
           cmdi.Parameters.AddWithValue("@time", DataGridView1.Rows(i).Cells(3).Value)


           con.Open()
           If cmdi.ExecuteScalar = 0 Then


يقوم بتحديث نفس السطر اللذي حصله ليقوم بتغيير  
كود :
@trcvd


من حرف N    الى حرف  Y
كود :
               Dim rcvd As String = String.Empty
               rcvd = "Y"
           
               Dim cmd As New SQLiteCommand("UPDATE table SET trcvd=@trcvd WHERE name=@name AND Date=@Date AND time=@time", con)
               cmd.Parameters.AddWithValue("@trcvd", rcvd)
               cmd.Parameters.AddWithValue("@name", DataGridView1.Rows(i).Cells(1).Value)
               cmd.Parameters.AddWithValue("@Date", DataGridView1.Rows(i).Cells(2).Value)
               cmd.Parameters.AddWithValue("@time", DataGridView1.Rows(i).Cells(3).Value)
               cmd.ExecuteNonQuery()
               con.Close()



اتمنى يكون الشرحح مفهوم بارك الله فيكم

اتعبني الكود من يومين 

وشكرا


RE: هل الكود هذا صحيح - مساعدة - 31-12-16

السلام عليكم

استخدم الاستدلال على السطر المراد تحديثة بالعمود ID ترقيم تلقائي فقط


RE: هل الكود هذا صحيح - dubai.eig - 31-12-16

(31-12-16, 07:13 PM)مساعدة كتب : السلام عليكم

استخدم الاستدلال على السطر المراد تحديثة بالعمود ID ترقيم تلقائي فقط

شكرا لك

بس ممكن توضيح اكثر بارك الله فيك


RE: هل الكود هذا صحيح - مساعدة - 31-12-16

في التحديث والحذف يكون مثل هذا الكود
كود :
UPDATE table SET trcvd=@trcvd WHERE id=@id

كود :
DELETE FROM table WHERE id=@id

هل يوجد في الجدول عمود ترقيم تلقائي اسمه ID؟


RE: هل الكود هذا صحيح - dubai.eig - 31-12-16

(31-12-16, 09:13 PM)مساعدة كتب : في التحديث والحذف يكون مثل هذا الكود
كود :
UPDATE table SET trcvd=@trcvd WHERE id=@id

كود :
DELETE FROM table WHERE id=@id

هل يوجد في الجدول عمود ترقيم تلقائي اسمه ID؟

نعم يوجد

كود :
id  -  name  -       Date    -  time  -  trcvd

1  - Ahmed  -  11/05/2016  -  11:02  -  N

2  - Ahmed  -  20/03/2016  -  12:12  -  N

3  - Ahmed  -  30/09/2016  -  01:09  -  N

4  - Ahmed  -  15/11/2016  -  06:55  -  N


راح اجرب موضوع ال id


RE: هل الكود هذا صحيح - dubai.eig - 01-01-17

استفسار 

الان بعد 

التاكد من وجود الشخص

المطلوب في البحث

كود :
Dim con As New SQLiteConnection("Data Source=tables.s3db")

          Dim cmdi As New SQLiteCommand(" SELECT COUNT(*) FROM table WHERE name = @name  and   Date = @Date  and  time = @time", con)
          cmdi.Parameters.AddWithValue("@name", DataGridView1.Rows(i).Cells(1).Value)
          cmdi.Parameters.AddWithValue("@Date", DataGridView1.Rows(i).Cells(2).Value)
          cmdi.Parameters.AddWithValue("@time", DataGridView1.Rows(i).Cells(3).Value)


          con.Open()
          If cmdi.ExecuteScalar = 0 Then


كيف ممكن احدد ال ID   الخاص به علشان اقوم بالتحديث

كود :
Dim rcvd As String = String.Empty
              rcvd = "Y"
         
              Dim cmd As New SQLiteCommand("UPDATE table SET trcvd=@trcvd WHERE id=@id ", con)
              cmd.Parameters.AddWithValue("@trcvd", rcvd)
              cmd.Parameters.AddWithValue("@id", ????)

              cmd.ExecuteNonQuery()
              con.Close()


وشكرا من جديد


RE: هل الكود هذا صحيح - مساعدة - 01-01-17

تفضل الكود
كود :
Dim con As New SQLiteConnection("Data Source=tables.s3db")

Dim cmdi As New SQLiteCommand(" SELECT id FROM table WHERE name = @name  and   Date = @Date  and  time = @time", con)
cmdi.Parameters.AddWithValue("@name", DataGridView1.Rows(i).Cells(1).Value)
cmdi.Parameters.AddWithValue("@Date", DataGridView1.Rows(i).Cells(2).Value)
cmdi.Parameters.AddWithValue("@time", DataGridView1.Rows(i).Cells(3).Value)

con.Open()
Dim id As Integer = cmdi.ExecuteScalar

If id = 0 Then



RE: هل الكود هذا صحيح - dubai.eig - 01-01-17

(01-01-17, 01:54 AM)مساعدة كتب : تفضل الكود
كود :
Dim con As New SQLiteConnection("Data Source=tables.s3db")

Dim cmdi As New SQLiteCommand(" SELECT id FROM table WHERE name = @name  and   Date = @Date  and  time = @time", con)
cmdi.Parameters.AddWithValue("@name", DataGridView1.Rows(i).Cells(1).Value)
cmdi.Parameters.AddWithValue("@Date", DataGridView1.Rows(i).Cells(2).Value)
cmdi.Parameters.AddWithValue("@time", DataGridView1.Rows(i).Cells(3).Value)

con.Open()
Dim id As Integer = cmdi.ExecuteScalar

If id = 0 Then

شكرا على الرد

جربت الكود  وجربت اشوف الناتج  في
 MsgBox(id)

ويطلع لي  الرقم صفر
[attachment=12714]

يعني ما يقراء رقم ال id


RE: هل الكود هذا صحيح - مساعدة - 01-01-17

هذا يعني أنه لم يجد بيانات مطابقة لما تبحث عنه

هل لابد من البحث بالثلاث بيانات name وDate وtime ؟

جرب أن تكتفي البحث بالاسم name فقط!


RE: هل الكود هذا صحيح - dubai.eig - 01-01-17

(01-01-17, 02:29 AM)مساعدة كتب : هذا يعني أنه لم يجد بيانات مطابقة لما تبحث عنه

هل لابد من البحث بالثلاث بيانات name وDate وtime ؟

جرب أن تكتفي البحث بالاسم name فقط!

عرفت المشكله 

وهيه ان ما يقراء التاريخ

يعني

name  وtime 

يشوفهم ويقارن بين الاثنين 

بس

وDate
ما يشوفه


والتاريخ نفس الشي
[attachment=12722]

كود :
           If DataGridView1.Rows(i).Cells(2).Value.ToString() = DataGridView2.Rows(io).Cells(2).Value.ToString() Then
               MsgBox("Yes")
           Else
               MsgBox("no")
           End If

التاريخ في Cells(2)

في DataGridView2  و  DataGridView1

بس غريبه ان ما يقراه

اما الاسم والوقت يقرئهم 

هل في طريقه اخرى او انا غلطان بشي 


وشكرا

(01-01-17, 04:53 PM)dubai.eig كتب :
(01-01-17, 02:29 AM)مساعدة كتب : هذا يعني أنه لم يجد بيانات مطابقة لما تبحث عنه

هل لابد من البحث بالثلاث بيانات name وDate وtime ؟

جرب أن تكتفي البحث بالاسم name فقط!

عرفت المشكله 

وهيه ان ما يقراء التاريخ

يعني

name  وtime 

يشوفهم ويقارن بين الاثنين 

بس

وDate
ما يشوفه


والتاريخ نفس الشي


كود :
           If DataGridView1.Rows(i).Cells(2).Value.ToString() = DataGridView2.Rows(io).Cells(2).Value.ToString() Then
               MsgBox("Yes")
           Else
               MsgBox("no")
           End If

التاريخ في Cells(2)

في DataGridView2  و  DataGridView1

بس غريبه ان ما يقراه

اما الاسم والوقت يقرئهم 

هل في طريقه اخرى او انا غلطان بشي 


وشكرا



علما بان يوم اجرب
كود :
MsgBox(DataGridView1.Rows(i).Cells(2).Value.ToString())

يقراء التاريخ
في DataGridView2  و  DataGridView1

 [attachment=12723]

غريبه المشكله