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

مشكلة العربية .. بين SQL وVB.NET

مغلق
بدأه سراب الجزيره في 12 ديسمبر 2005 · 10 رد · 985 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اخواني الكرام

مشكلتي لم اجد لها حل لانها ليست منطقية

انا مستخدم لداتا بيس SQL SERVER 2000و للبرمجه فيجول بيسك دوت نت

بعد بناء داتا بيس وتخزين البيانات بشكل صحيح

لدي اسماء مواد مخزنه في جدول المواد

وعلما بان جدول المواد بعض المواد باللغه عربيه والاخرى انجليزي

مثل

سلم 101

نجم102

CAP201

CSC211

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

لكن عند مقارنة المواد التي باللغه عربيه مثل

سلم101 مع سلم 101

فانه يقول ان المادتين غير متشابهتين

مع العلم ان تخزين تم بشكل صحيح

اي ان لا يوجد سبيس او شيء من هذا القبيل

ولو قارنت CAP201مع CAP201

لوجدت انه يقارن بشكل صحيح

المشكله تتعلق باللغه العربيه فقط

وليست محصوره على ماده معينه

:wacko:

خالص الود

#2

لماذا كررت الموضوع؟

تكفي مرة واحدة فقط.

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

سلم101 مع سلم 101

حسب رؤيتي فإنه توجد مسافة بين رمز المادة ورقمها، وهذا يعتبر حرفا، وبالتالي هناك فرق بينهما.

ماهو الcollation لجدول المواد؟

هل هو Arabic_CI_AS ، وهو الخاص باللغة العربية الذي يستطيع التمييز بين الحروف؟

يمكنك معرفته من الSQL Script للجدول.

فكر بطريقة أخرى

#3

الكوليكشن

نفس ماذكرت

وان اسبيس الموجود في كلا المادتين

اي انهما نفس شيء تماما

يوجد في كلا الاثنيتين سبيس

اما تكرار الموضوع فلانني لم اعرف اين تكمن المشكلة

هل هي بالفيجول

ام بالسيرفر

خالص الشكر

#4

اخر ما توصلت اليه

ان المشكلة ليست في كلا برنامجين

لا في الفيجول ولا في السيرفر

المشكلة تكمن في كيفية تعامل الجهاز مع العربي

خصوصا

ان اسم الماده هو برايمري كي

بصراحه لم اجد حل للمشكلة

:wacko:

#5

يا ترى الن اجد حل لديكم ؟؟

:unsure:

:blink:

:wacko:

#6

اخي سراب كلامك من وجهة نظري سليم وأن الخطأ وارد

ابشرك ان هذه المشكلة معترف بها من مايكروسوفت وهي الان محلولة لكن في الاس كيو ال 2005

وبالعودة لحل مشكلتك تعامل معها على انها String وجزئها واعد ربطها مرة اخرى مع العلم ان هذا الحلم شبه عقيم

#7

خصوصا

ان اسم الماده هو برايمري كي

أخي العزيز / بالنسبة لوصغ الأسماء على أن تكون PK فهذا خطأ فادح ، وسوف تتعقد لك الأمور . :blink: :blink:

يمكنك أن تجعل PK ارقام وبالنسبة لعدم تكرار البيانات فتستطيع بعدة بعدة طرق منع ذلك .

أخوك المحب / حبيب ;)

تم تعديل هذه المشاركة بواسطة habeab في 22 ديسمبر 2005 في 19:52

اللهم صلي على محمد وعلى آله وصحابته أجميعن إلى يوم الدين

#8

NiceyFriend

شكرا جزيل لتفاعلك ...

اقتباس
ابشرك ان هذه المشكلة معترف بها من مايكروسوفت

واو :wacko:

يعني هل الحل في نقل البيانات الى 2005

وهل هناك مشاكل في نقل

علما باني استخدم2000

اما الفيجول بيسك2003

هل ستحدث مشاكل في فيجول بيسك اما لا ؟؟

يعني الكود هل يتغيير ام لا في السليكت ستيتمنت ؟

لان حل تجزءه اراه غير عملي ...

حبيب

اما البرايمري كي فاني مجبر على ذلك

لانني تابع للنظام الاصلي

وليس منشا له

اجمل الشكر للجميع

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

#9

سؤال للاخوه

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

او مصدر للحصول على الوثيقة

لتقديمة مع بحث المطلوب

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

#10

اخى سراب هل لك ان تشرح لى ما المشكلة بالضبط و لماذا لم تجعل للمادة SubjectID تتعامل معه ك Primary Key بدلاً من الاسم

علماً بانه لا يوجد اى مشاكل فى اللغة العربية سواء من ناحية الدوت نيت او ال MS SQL Server

اقتباس
ابشرك ان هذه المشكلة معترف بها من مايكروسوفت وهي الان محلولة لكن في الاس كيو ال 2005

ردى

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

:D

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

#11

ابشركم انحلت المشكلة

عند فيجول بيسك با وضع

INSERT INTO [TableName] VALUES ( N‘ قيمة حرفية’ )

حرف N

يسبق القيمة الحرفيه

تحياتي للجميع وشكر لهم

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

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