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

كيف اقوم بحفظ محتويات الداتا جرايد

مغلق
بدأه دون سيلفاتور في 18 يوليو 2005 · 10 رد · 754 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

قمت بكتابة كود sql ومن ثم اظهرت الناتج في داتا جرايد:

SqlConnection conn = new SqlConnection(txtConn.Text);
    SqlDataAdapter da = new SqlDataAdapter("select id,name from customers where custumer id <1", conn);
    DataSet ds = new DataSet();
    da.Fill(ds, "MyTable");

    grid.DataSource = ds.Tables["MyTable"];
    grid.DataBind();
}

لاحظ ان الناتج هو عندما يكون id اكبر من 1

فما هو الكود الذي استطيع حفظ الببيانات التي قمت بتعديلها في datagrid

شكرا

abo_alzobaer@hotmail.com

#2

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

أخي الكريم يوجد خاصية من خواص SqlDataAdapter وهي UpdateChanges

وهي تستخدم عند عمل جملة Update Query وتمريرها ل DataAdapter

وبعد ذلك تقوم بإستدعاء خاصية UpdateChanges

da.UpdateChanges(ds);

Name : Ahmed H. Alawady

Web Site : Alawady.info

Email : alawady_ahmed@hotmail.com

Tel : +2 012 345 6808

#3

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

عمل الـ Update مشابه لعمل الـ Fill.

استخدم مثلا :

da.Update(ds);

أو قم بتحديد اسم الـ Table بطريقه صريحه ::

da.Update(ds,"MyTable");

#Read

http://MoutazShams.blogspot.com

projects003.gif

أعتذر عن التغيب هذه الأيام نظرا للانشغال المريب

#4

هذه الطريقه مانفعت

لاني اقوم بعمل carteria لقاعدة البيانات

يعني ال sql عندي هو

select id ,name from customer where id <5

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

لذلك البيانات الي بال datagrid لا تحفظ بقاعدة البيانات

ارجو ان يكون السؤال مفهوم

وشكرا على الرد

abo_alzobaer@hotmail.com

#5

?????????????????????

abo_alzobaer@hotmail.com

#6

لكي يتم الحفظ لابد من وجود UpdateCommand او عن طريق CommandBuilder

OleDbCommandBuilder cb= new OleDbCommandBuilder(da);
da.UpdateCommand = cb.GetUpdateCommand();
da.Update(ds,"TableName");
#7

اخي الكريم

يظهر لي الخطأ التالي:

Dynamic SQL generation for the UpdateCommand is not supported against a SelectCommand that does not return any key column information.

اشكرك على الرد

abo_alzobaer@hotmail.com

#8

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

أخي الكريم يمكن الإستفادة من Wizard الخاص بالدوت نت فسوف يعطيك الجملة المخصصة للـ Update وهي

this.sqlUpdateCommand1.CommandText = @"UPDATE Orders SET CustomerID = @CustomerID, EmployeeID = @EmployeeID, OrderDate = @OrderDate WHERE (OrderID = @Original_OrderID) AND (CustomerID = @Original_CustomerID OR @Original_CustomerID IS NULL AND CustomerID IS NULL) AND (EmployeeID = @Original_EmployeeID OR @Original_EmployeeID IS NULL AND EmployeeID IS NULL) AND (OrderDate = @Original_OrderDate OR @Original_OrderDate IS NULL AND OrderDate IS NULL); SELECT OrderID, CustomerID, EmployeeID, OrderDate FROM Orders WHERE (OrderID = @OrderID)";

فهذا المثال قائم على الداتا بيز الخاصة بالـ Northwind ولها Parameter خاص بكل متغير

Name : Ahmed H. Alawady

Web Site : Alawady.info

Email : alawady_ahmed@hotmail.com

Tel : +2 012 345 6808

#9
mgazif كتب:
اخي الكريم

يظهر لي الخطأ التالي:

Dynamic SQL generation for the UpdateCommand is not supported against a SelectCommand that does not return any key column information.

اشكرك على الرد

هذا الرسالة تظهر لانك لم تعرف Primary Key في الجدول نفسه

اجعل id هي Primary Key ستحل المشكله باذن الله

#10

شكرا جزيلا

اشكرك جدا اخ todo الحل نفع

abo_alzobaer@hotmail.com

#11

العفو الشكر لله

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

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