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

مشكلة ال Delete

بدأه سنفور غبي في 24 يناير 2009 · 10 رد · 1,121 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

مرحبا

بحثت في المنتدى لكن لم احصل على الحل المطلوب

لدي جدول (table1) في قاعدة البيانات access

في هذا الجدول يوجد عمودين(snumber + sdate)

في ال visual basic.net 2005 يوجد 2 textboxes للعمودين السابقين

وزر delete للحذف

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

الكود التالي استخدمته لهذا الغرض ولكنه لا يعمل delete ولا يظهر اي اخطاء :

Dim cmdInsD As New OleDb.OleDbCommand

Dim adp As New OleDb.OleDbDataAdapter

Dim ds As New DataSet

Try

If CON.State = ConnectionState.Closed Then

CON.Open()

End If

cmdInsD.CommandText = "DELETE FROM table1 WHERE snumber = " + txtSNO.Text + "and " + " txtSDate = " + DateTimePicker1.Text + ""

cmdInsD.ExecuteNonQuery()

Catch

UnhandledExceptionHandler()

End Try

المشكلة في هذه العبارة:

"DELETE FROM table1 WHERE snumber = " + txtSNO.Text + "and " + " txtSDate = " + DateTimePicker1.Text + ""

حيث انني عندما احذف : and " + " txtSDate = " + DateTimePicker1.Text

يتم حذف الرقم المطلوب ولكن يتم حذف كل الارقام التي بنفس الرقم

المطلوب هو حذف الرقم الموجود في التاريخ المحدد

شكرا

#2

مرحباً أخي الكريم .

ذكر في سؤالك أن العامود الثاتي يدعى ( SDate ) لكن كما نرى أنك تستخدم ( txtDate ), هل هذا اسم العمود ( txtDate ) ؟

استبدله بـ SDate إذا لم تكن مخطىء وجربه, بعد ذلك أخبرنا مايحدث .

بالتوفيق .

تم تعديل هذه المشاركة بواسطة Bashar Rabat في 24 يناير 2009 في 21:21

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#3

شكرا على الرد

( SDate ) هو اسم العمود في ال access database

( txtDate ) هو اسم التكست بوكس في ال form

عذرا على الخطأ ...

الصحيح هو SDate وهو لا يعمل

#4

حسناً للنتقل الى الخطأ الثاني وهو :

استخدام الخاصية Text اي DateTimePick1.Text, هذه الخاصية لاتعمل بالنسبة لهذا الـ Control لذلك عليك الإعتماد على DateTimePick1.Value أي القيمة المختارة, صحيح أن نوع هذه القيمة هو Date اي تارخ ولكن يمكنك الإعتماد عليها لأنها تحول تلقائياً الى String, مع العلم أن هذه الخاصية تعيد تاريخ ووقت على شكل كامل أي على سبيل المثال : _

01/01/2009 12:33:35 م أو AM عوضاً عن الـ ( م ), لذلك يمكنك استخدام العمليات التابعة لهذا النوع أي ( Date ) كمثل التاريخ فقط - يعطي :

[RTF]

DateTimePicker1.Value.ToShortDateString = "2009/01/01"

[RTF]

هنالك الكثير من العمليات, جربها لتتعرف عليها وأيضاً لتستخدمها ضمن مجال ملائم للشكل الذي تستخدمه في الـ DataBase .

بالتوفيق .

تم تعديل هذه المشاركة بواسطة Bashar Rabat في 25 يناير 2009 في 01:29

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#5

عذرا على التأخير

ولكن جربت هذه الطريقه سابقا ولم تنجح

اذا كانت هناك طريقة اخرى يرجى تزويدي بها

شكرا

#6

الظاهر لا يوجد حل لهذه المشكلة

#7

مرحباً أخي الكريم .

مانوع العامود الخاص بالتاريخ ؟

هل أنت متأكد من إحدا قيم ذلك العامود ( القيم المدخلة ) تشبه الهيئة المستخمة في المقارنة ؟

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#8

نوع العمود الخاص بالتاريخ هو date time

نعم .. القيم المدخلة تشبه الهيئة المستخمة في المقارنة

#9

مرحبأً أخي الكريم .

هل يمكنك إنشاء جدول شبيه بالجدول الذي تستخدمه ( فارغ ) وتقوم بإرساله على ( basharvs@hotmail.com ), شكراً .

بالتوفيق .

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#10

جرب الداله convert

delete from table_name where sdate =convert(datetime,'+DateTimePicker1.Value.ToShortDateString +',103)

هية شغاله في sqlserver واعتقد هتشتغل معاك

#11

جزاك الله كل خير

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