الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تعديل فالسجلات فالداتا ست تعتمد فالقاعدة

مغلق
بدأه POWER _GIRL في 23 نوفمبر 2005 · 11 رد · 900 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

(بسم الله الرحمن الرحيم)س

ؤالي :الاتصال المنفصل :wacko: لا يحدث فالقاعدة إلا بعد كود التحديث..

لكني مسحت كود التحديث ولقيت القاعدة اتحدثت !

  Sub MyCon(ByVal MySQL As String) 
        If CN.State.Open Then
            CN.Close()
        End If
              CMD = New SqlCommand(MySQL, CN)
              CN.Open()
    End Sub
  

  Sub MyDAP_DS()       
                DAP.SelectCommand = CMD
               DS.Clear()
             DAP.Fill(DS)
    End Sub
   
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
MyCon("update  Products set QuantityPerUnit='" & TextBox1.Text & "' WHERE ProductName='Chai'")
        MyDAP_DS()


        'UpDate DB
        'DAP.Update(DS, "Products")
        'DS.AcceptChanges()
       
        CN.Close()
        MsgBox("..........Done...........")

تم تعديل هذه المشاركة بواسطة POWER _GIRL في 23 نوفمبر 2005 في 02:17

<< CLICK TO START>>

post-41869-046528000%201305052277.jpg

ليس أن تجد حلا بل أن تجد الافضل

أن تصـــنع الخـيال هذا هوا الأفضل</span>

#2

طبعاً ...... :D

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

في كودك السابق حدثت قاعدة البيانات مرتين ، وستتحدث قادة البيانات عند حذف أي واحد منهما

#3
اقتباس
لأنك استخدمت كوماند منفصل

أخيـ haroon :unsure: ماهوا الواجب كتابته حتى لا تنفذ العملية على القاعدة ؟

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

هل قصدت .............

'DAP.Update(DS, "Products")
'DS.AcceptChanges()

:lol: وجزاك الله من واسع فضله

<< CLICK TO START>>

post-41869-046528000%201305052277.jpg

ليس أن تجد حلا بل أن تجد الافضل

أن تصـــنع الخـيال هذا هوا الأفضل</span>

#4

hi

am sory for late to answer

the Errer in that6s line

MyCon("update Products set QuantityPerUnit='" & TextBox1.Text & "' WHERE ProductName='Chai'")

MyDAP_DS()

becouse this statment is update statment so when u use it as select comand for data adapter

its run when u fill the dataset

************************************************************************************************************

soluation

" MyCon("select * from Products )

try know and i think its will be good

byeeeeeeeeeee

#5

حسنا لو إستخدمنا

MyCon("select * from Products )

كيف لي بعد ذل ك تعديل البيانات على الجدول(المخزن فالـdataset) ? :blink:

تم تعديل هذه المشاركة بواسطة POWER _GIRL في 24 نوفمبر 2005 في 16:08

<< CLICK TO START>>

post-41869-046528000%201305052277.jpg

ليس أن تجد حلا بل أن تجد الافضل

أن تصـــنع الخـيال هذا هوا الأفضل</span>

#6
DAP.Update(DS, "Products")

هذا يحدث قاعدة البيانات ....

#7

يا إخواني ما أريده هوا

عمل تعديل على البيانات الموجودة فالداتا ست

وعند النقر على زر ارسال التحديثات للقاعدة يتم إعتماد التعديلات على السجلات فالقاعدة

CMD = New SqlCommand("update  Products set QuantityPerUnit='" & TextBox1.Text & "' WHERE ProductName='Chai'",CN)
       
CN.Open() 


DAP.UpdateCommand = CMD

'ومع زر التحديث نضيف هذا السطر لتتم عمية تحديث القاعدة 
DAP.Update(DS, "Products")

أرجوا ان اكون قد اوضحت سؤالي فالكود التالي لايعمل بشكل سليم ..أين الخطأ لو سمحتم؟

<< CLICK TO START>>

post-41869-046528000%201305052277.jpg

ليس أن تجد حلا بل أن تجد الافضل

أن تصـــنع الخـيال هذا هوا الأفضل</span>

#8

UP <_<

<< CLICK TO START>>

post-41869-046528000%201305052277.jpg

ليس أن تجد حلا بل أن تجد الافضل

أن تصـــنع الخـيال هذا هوا الأفضل</span>

#9

السلام عليكم

ربما المشكلة فى جملة sql

جربى كتابتها بهذا الشكل

" update  Products set QuantityPerUnit=' & TextBox1.Text & ' WHERE ProductName='Chai' "

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#10

وهذا المثال المرفق يارب تفهمومني ..

update.rar

<< CLICK TO START>>

post-41869-046528000%201305052277.jpg

ليس أن تجد حلا بل أن تجد الافضل

أن تصـــنع الخـيال هذا هوا الأفضل</span>

#11

hi sorry for late

first in the object adapter thats we use to fill and update dataset we have many attrubute thats must set befor use

1.in the adapter we have select ,update ,delete ,and insert comands

so we must write the for statment for the adapter

to understand wats happen in dataset

when we use fill to fill dataset with datafrom database then the adapter execute the select comand

and when we use the update to upadte the dataset the adapter take one record from the dataset and then see if its update it execute update comand

and if inserted the exuecute the insert comand and id deleted execute the delete coimand

so we can see thats to update the dataset we must write the insert,delete ,and update comand

#12

السلام عليكم

اختى الكريمة قمت بتحميل الملف ولكن الكود غير منطقى

فلا يوجد اى اجراء يقوم بتحديث او اضافة وحذف سجلات للجدول فى مجموعة البيانات

يتم تحديث سجل هكذا مثلا

 rowShipper = TableData.Rows.Find(Integer.Parse("1"))
        If rowShipper Is Nothing Then
            'product not found!
        Else
            rowShipper("CompanyName") = Me.TextBox3.Text.Trim
            Me.DataGrid1.Refresh()
        End If

الكود السابق يقوم بتعديل اسم الشركة فى جدول Shippers

ايضا الطريقة Findلا تتعامل الا مع المفتاح الاساسى

استخدمى الطريقةFillSchema لموصل البيانات حتى لا تحدث مشاكل

da.FillSchema(DataTableOBj,SchemaType.Source)
        da.Fill(DataTableOBj)
        Me.DataGrid1.DataSource = DataTableOBj.DefaultView

ولانشاء اوامر التحديث والحذف والاضافة ابسط طريقة هى استخدام الكائن CommandBuilder

حيث نقوم بتمرير موصل البيانات dataadapter لحظة انشاء كائن منشئ الاوامر

Dim cb As New OleDBCommandBuilder(your dataAdapter)
da.InsertCommand=cb.GetInsertCommand
..
..

والطريقة الاخرى هى ان نقوم بانشاء كائن امر للحذف والتعديل والاضافة عن طريق الكود مثلا

Private Function CreateDataAdapterUpdateCommand() As SqlCommand
        Dim strSQL As String
        strSQL = "UPDATE [Shippers] " & _
                 "SET ShipperID=?,CompanyName=?," & _
                 "Phone=? " & _
                 "WHERE ShipperID=?  AND CompanyName= ? AND " & _
                 "Phone=?"
        Dim cmd As New SqlCommand(strSQL, cnn)

        Dim pc As SqlParameterCollection = cmd.Parameters
        pc.Add("ShipperID_Newfff", SqlDbType.Int, 4, "ShipperID")
        pc.Add(" CompanyName_Newfff", SqlDbType.NVarChar, 40, " CompanyName")
        pc.Add("Phone_Newfff", SqlDbType.NVarChar, 24, "Phone")


        Dim param As SqlParameter
        param = pc.Add("ShipperID_Origfff", SqlDbType.Int, 4, "ShipperID")
        param.SourceVersion = DataRowVersion.Original
        param = pc.Add(" CompanyName_Origfff", SqlDbType.NVarChar, 40, " CompanyName")
        param.SourceVersion = DataRowVersion.Original
        param = pc.Add("Phone_Origfff", SqlDbType.NVarChar, 24, "Phone")
        param.SourceVersion = DataRowVersion.Original
        Return cmd
    End Function

ويتم استدعاء الاجراء السابق كالتالى

        da.UpdateCommand = CreateDataAdapterUpdateCommand()
....
...
 da.Update(ds,"table")

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…