تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] تعديل عدة سجلات
#1
السلام عليكم
عندي جدول الاصناف بقاعدة بيانات sql server بها سعر الشراء وسعر البيع
وهناك عدة اصناف لهم نفس السعر
هل هناك طريقة اعدل بها الاسعار لاكثر من صنف دفعة واحدة
وشكرا مقدما
الرد }}}}
تم الشكر بواسطة:
#2
يا ابو يوسف
حدد اصنافك التي تريد تعديل اسعارها في مصفوفة
ثم اجعل شرط التحديث وفق عناصر المصفوفة
مثال

PHP كود :
Dim _Update As String "Update TableName Set Price=@Price Where Kind = @Kind"
 
       Using Cmd As New OleDb.OleDbCommand With {.CommandText _Update, .Connection Conn}
 
           Dim array() As String = {"قهوة""سكر""عصير"}

 
           For Each elem As String In array
 
               Cmd.Parameters.Clear()
 
               Cmd.Parameters.AddWithValue("@Price"500)
 
               Cmd.Parameters.AddWithValue("@kind"elem)
 
               Cmd.ExecuteNonQuery()
 
           Next

        End Using 
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد }}}}
تم الشكر بواسطة: ابو يوسف النواوي 2
#3
(29-01-17, 08:46 PM)ابو ليلى كتب : انا عامل تيكست بوكس بكتب فيه السعر الجديد
و عامل داتا جريد فيو يعرض فيها اسم الصنف والسعر وعامل عمود نوع تشيك بوكس علشان اعمل سيليكت علي الاصناف اللي عاوز اعدل سعرها القديم بالسعر اللي موجود بالتيكست بوكس
هل كدة مظبوط ؟
ولا في طريقه تانية
لو مظبوط ممكن اعرف الكود يبقي ازاي ؟
الرد }}}}
تم الشكر بواسطة:
#4
السلام عليكم

تعديل في جزء من كود الأستاذ ابو ليلى حسب ما ذكرت آخراً

على اعتبار انه يوجد عمود باسم id وهو رقم الصنف في الجدول
وأن عمود التشيك بوكس هو الأول (0) وأن رقم الصنف id هو الثاني (1)
كود :
Dim ids As New List(Of Integer)
For Each r As DataGridViewRow In Me.DataGridView1.Rows
    If r.Cells(0).Value Then ids.Add(CInt(r.Cells(1).Value))
Next

Dim _Update As String = "Update [TableName] Set [Price]=@Price Where [ID] IN(" & String.Join(",", ids) & ") "

مع حذف سطر
كود :
Cmd.Parameters.AddWithValue("@kind", elem)
الرد }}}}
تم الشكر بواسطة:
#5
(29-01-17, 09:37 PM)مساعدة كتب : السلام عليكم

تعديل في جزء من كود الأستاذ ابو ليلى حسب ما ذكرت آخراً

على اعتبار انه يوجد عمود باسم id وهو رقم الصنف في الجدول
وأن عمود التشيك بوكس هو الأول (0) وأن رقم الصنف id هو الثاني (1)
كود :
Dim ids As New List(Of Integer)
For Each r As DataGridViewRow In Me.DataGridView1.Rows
   If r.Cells(0).Value Then ids.Add(CInt(r.Cells(1).Value))
Next

Dim _Update As String = "Update [TableName] Set [Price]=@Price Where [ID] IN(" & String.Join(",", ids) & ") "

مع حذف سطر
كود :
Cmd.Parameters.AddWithValue("@kind", elem)

تمام هجرب واوافيكم بالاخبار جزاكم الله خيرا

(29-01-17, 08:46 PM)ابو ليلى كتب : يا ابو يوسف
حدد اصنافك التي تريد تعديل اسعارها في مصفوفة
ثم اجعل شرط التحديث وفق عناصر المصفوفة
مثال

PHP كود :
Dim _Update As String "Update TableName Set Price=@Price Where Kind = @Kind"
 
       Using Cmd As New OleDb.OleDbCommand With {.CommandText _Update, .Connection Conn}
 
           Dim array() As String = {"قهوة""سكر""عصير"}

 
           For Each elem As String In array
 
               Cmd.Parameters.Clear()
 
               Cmd.Parameters.AddWithValue("@Price"500)
 
               Cmd.Parameters.AddWithValue("@kind"elem)
 
               Cmd.ExecuteNonQuery()
 
           Next

        End Using 

جزاك الله خيرا
الرد }}}}
تم الشكر بواسطة: ابو ليلى
#6
نشكر الاخ مساعدة على مساهمته

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

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

PHP كود :
Dim Array As New List(Of String)
 
       For Each Row As DataGridViewRow In DataGridView1.Rows
            If CType
(Row.Cells("IsUpdate"), DataGridViewCheckBoxCell).Value True Then
                Array
.Add(Row.Cells("Kind").Value)
 
           End If
 
       Next

  UpdateMultiKind
(Array) 

الحقل IsUpdate يمثل اسم CheckBox
الحقل Kind يمثل حقل الصنف

انا فصلت كود التحديث في اجراء منفصل كما يلي


PHP كود :
   Private Sub UpdateMultiKind(ByVal Array As List(Of String))
 
       If Array.Count 0 Then
            Dim _Update 
As String "Update TableName Set Price=@Price Where Kind = @Kind"
 
           Using Cmd As New OleDb.OleDbCommand With {.CommandText _Update, .Connection Conn}
 
               For Each elem As String In Array
 
                   Cmd.Parameters.Clear()
 
                   Cmd.Parameters.AddWithValue("@Price"TextBox1.Text)
 
                   Cmd.Parameters.AddWithValue("@kind"elem)
 
                   Cmd.ExecuteNonQuery()
 
               Next

            End Using

        End 
If

 
   End Sub 

اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد }}}}
تم الشكر بواسطة:
#7
السلام عليكم إخواني الأعزاء ورحمة الله وبركاته
لنفترض أن عملية التعديل (دفعة واحدة) على مجموعة من الأصناف سوف تنفذ من خلال أكثر من مستخدم، برأيكم أي تعديل سوف يسجل أو يؤثر على قاعدة البيانات؟
عن مولا نا علي ابن أبي طالب عليه السلام :
إضرب بعض الرأي ببعض يتولد منه الصواب.
الرد }}}}
تم الشكر بواسطة:
#8
(29-01-17, 10:08 PM)ابو ليلى كتب : نشكر الاخ مساعدة على مساهمته

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

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

PHP كود :
Dim Array As New List(Of String)
 
       For Each Row As DataGridViewRow In DataGridView1.Rows
            If CType
(Row.Cells("IsUpdate"), DataGridViewCheckBoxCell).Value True Then
                Array
.Add(Row.Cells("Kind").Value)
 
           End If
 
       Next

  UpdateMultiKind
(Array) 

الحقل IsUpdate يمثل اسم CheckBox
الحقل Kind يمثل حقل الصنف

انا فصلت كود التحديث في اجراء منفصل كما يلي


PHP كود :
   Private Sub UpdateMultiKind(ByVal Array As List(Of String))
 
       If Array.Count 0 Then
            Dim _Update 
As String "Update TableName Set Price=@Price Where Kind = @Kind"
 
           Using Cmd As New OleDb.OleDbCommand With {.CommandText _Update, .Connection Conn}
 
               For Each elem As String In Array
 
                   Cmd.Parameters.Clear()
 
                   Cmd.Parameters.AddWithValue("@Price"TextBox1.Text)
 
                   Cmd.Parameters.AddWithValue("@kind"elem)
 
                   Cmd.ExecuteNonQuery()
 
               Next

            End Using

        End 
If

 
   End Sub 


تسلم الكود اشتغل تمام بارك الله فيك
الرد }}}}
تم الشكر بواسطة:
#9
(30-01-17, 12:48 AM)khodor1985 كتب : السلام عليكم إخواني الأعزاء ورحمة الله وبركاته
لنفترض أن عملية التعديل (دفعة واحدة) على مجموعة من الأصناف سوف تنفذ من خلال أكثر من مستخدم، برأيكم أي تعديل سوف يسجل أو يؤثر على قاعدة البيانات؟

وعليكم السلام و رحمة الله و بركاته
اهلا بك اخي خضر 
معك حق في هذا التعليق , نحن اجبنا على قدر السؤال فقط
الواصل اخيراً سيرح التعديل (هذه هي القاعدة)
و بالنسبة لبيئة تعدد المستخدمين يجب على الاخ ان ينتبه الى (انتهاك تزامن البيانات ) (ConCurrency Exptions)
و يحسب حسابه بالحلول المناسبة 

التعديل على الاسعار و ليس على الاصناف 
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  كود تعديل بيانات أبوسعود 3 102 03-01-18, 12:18 AM
آخر رد: أبوسعود
  مساعده فى تعديل كود لو سمحتوا نبيل فتحى 2 75 02-01-18, 05:09 PM
آخر رد: نبيل فتحى
  تعديل الكود ده لو سمحتوا يا جماعه نبيل فتحى 1 52 02-01-18, 04:58 PM
آخر رد: طالب برمجة
  [VB.NET] احتاج تعديل الكود "تأكد من الصلاحية" hglogtd 3 109 02-01-18, 01:02 AM
آخر رد: طالب برمجة
  [VB.NET] تعديل كود في عرض بيانات من جدولين على ريبورت فيور hglogtd 10 307 24-12-17, 10:43 PM
آخر رد: hglogtd
  مساعدة فى تعديل كود اذا سمحتوا مسح كل حاجه فى الداتا جريد فيو نبيل فتحى 2 80 04-12-17, 02:14 AM
آخر رد: عبد الاحد
  هل ممكن حفض عدة سجلات من الدتا قريد فيو في جدول اكسس مرة واحدة ahmedbezia 6 150 01-12-17, 05:35 PM
آخر رد: ahmedbezia
  [نقاش] محتاج مساعده بأفكار لانجاز تعديل على المشروع Rabeea Qbaha 7 211 30-11-17, 04:45 PM
آخر رد: Rabeea Qbaha
  [VB.NET] تعديل كود لاعطائي عدد كلمة في الداتا قريد فيو hglogtd 2 123 19-11-17, 10:50 AM
آخر رد: hglogtd
  [سؤال] تعديل اسم مستخدم قاعدة البيانات ( ايقاف و تفعيل المستخدم ) عماد البشبيشى 4 210 14-11-17, 02:29 PM
آخر رد: عماد البشبيشى

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


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