سؤال

هذا لا معنى له بالنسبة لي. لقد حدث هذا مرتين في الآونة الأخيرة عند إنشاء كائنات دون سرعة الصوت لجدول قاعدة بيانات أو عرض أعمدة عرض تم إعادة تسميتها إلى ColumnX. في المرة الأولى التي يكون فيها الأمر منطقيًا لأن اسم العمود هو القيمة ، الكلمة الرئيسية C#. ولكن في المرة الثانية التي يحدث فيها ذلك ، فإن اسم عمود الجدول هو الصف ، وهو ليس كلمة رئيسية أو كلمة محفوظة. هل يعرف أي شخص لماذا يحول Subsic اسم العمود هذا إلى GRADEX عندما يولد الكائنات؟

شكرًا.

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

المحلول

إنه ، كما افترضت ، استبدال الكلمات حتى لا تتعارض مع أنواع .NET أو SQL. لا تنسوا محادثات دون صوتي مع مختلف مقدمي خدمات DB ، لذلك على الرغم من أن "الصف" ليس من نوع MSSQL ، إلا أنه من الممكن أن يكون Oracle أو MySQL وما إلى ذلك ...

under Subsic.Utilities.Utility هي طريقة تسمى WordCheck والتي تقوم بإلحاقها.

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

  public static string KeyWordCheck(string word, string table, DataProvider provider)
        {
            string appendWith = "X";
            if (provider.AppendWith != string.Empty)
                appendWith = provider.AppendWith;

            return KeyWordCheck(word, table, appendWith);
        }
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top