SQL Server 2008 - تحرير الجداول:بت الأعمدة تتطلب 'True' أو 'False'

StackOverflow https://stackoverflow.com/questions/341201

سؤال

وليس ذلك بكثير مسألة مراقبة...

أنا فقط الترقية إلى SQL Server 2008 على تطوير آلة تحسبا رفع مستوى بلدي يعيش التطبيقات.لم أكن أتوقع أي مشاكل منذ [أعتقد] أنا عموما استخدام معيار T-SQL, وربما ليس بعيدا جدا من ANSI SQL القياسية.حتى الآن جيد جدا, ولكن كنت حقا طرح جدا تغيير بسيط:

لقد كان خلق بسيطة وصغيرة البحث الجدول لتخزين قائمة من الرموز بما في ذلك قليلا عمود للإشارة الحالي التعليمات البرمجية الافتراضية.ولكن عندما كنت جديدة/معدلة 'تحرير أعلى 200 الصفوف' الخيار ، ودخلت 0s 1s في بت العمود لدي خطأ:

'صالح قيمة الخلية - سلسلة كان لا يعترف صالح منطقية'

بعد قليل من يحك رأسه ، حاولت الصواب والخطأ - و عملوا.

لذلك يبدو هذا الجديد ميزة تحرير يتطلب 4 أو 5 أحرف أن كتبته بدلا من السابقة 1.

التحقق من المزيد من أننا يمكن أن لا تزال تستخدم '...where bitval = 1'ولكن الآن يمكن أيضا استخدام '...where bitval = 'true''.ولكن أي نتائج عاد تقديم هذه بعض الأعمدة 0 أو 1 لا يزال.

كل ذلك يبدو مثل نصف خطوة إلى الوراء.ليست نهاية العالم, ولكن لا لزوم لها الانزعاج.

هل لدى أحدكم أي فكرة عن هذا الموضوع ؟ أو هناك أي جديد Gotchas مع SQL Server 2008 ؟

2012 تحديث: بعد تثبيت SQL Server 2012 ، لاحظت أن هذا السلوك قد تم 'تصحيح' كما أن قبل ، يمكنني الآن الدخول 1/0 بدلا من True/False مباشرة في صفوف باستخدام 'تحرير أعلى 200 الصفوف' الخيار.انها شيء صغير ، ولكن أنا سعيد.

هل كانت مفيدة؟

المحلول

إلا أنها أفسدت الأمر و نصف فقط فرض سيادة حاول استخدام ...=True في تحديث بيان ومعرفة ما يحدث.إما أن يذهب كل في طريقه أو لا على الاطلاق.آسف مايكروسوفت, لا أستطيع أن أعطيك أي علامات على أنه واحد

نصائح أخرى

لقد كنت دائما قادرا على استخدام 'True' و 'False' مقارنة ضد بعض الأعمدة...وأعتقد أن هذا التغيير إلى "القوة" أنها فكرة جيدة أن يكون واضحا أن الحقل هو قليلا و لا INT.

شخصيا, أنا أحب أن C# لا يدعم "إذا (0) ..." اعتقد انها مجرد تفضيل الوضوح.

فقط وجدت هذا (بعد التحضير ولكن آخر) بنيت في التصميم

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top