MySql.Data.MySqlClient.SchemaProvider.GetReservedWords C# (CSharp) Method

GetReservedWords() private static method

private static GetReservedWords ( ) : DataTable
return System.Data.DataTable
        private static DataTable GetReservedWords()
        {
            DataTable dt = new DataTable("ReservedWords");
            dt.Columns.Add(new DataColumn(DbMetaDataColumnNames.ReservedWord, typeof(string)));

            Stream str = Assembly.GetExecutingAssembly().GetManifestResourceStream(
                "MySql.Data.MySqlClient.Properties.ReservedWords.txt");
            StreamReader sr = new StreamReader(str);
            string line = sr.ReadLine();
            while (line != null)
            {
                string[] keywords = line.Split(new char[] {' '});
                foreach (string s in keywords)
                {
                    if (String.IsNullOrEmpty(s)) continue;
                    DataRow row = dt.NewRow();
                    row[0] = s;
                    dt.Rows.Add(row);
                }
                line = sr.ReadLine();
            }
            sr.Close();
            str.Close();

            return dt;
        }

Usage Example

Exemplo n.º 1
0
        /// <summary>
        /// Verifies if a query is valid even if it has not spaces or is a stored procedure call
        /// </summary>
        /// <param name="query">Query to validate</param>
        /// <returns>If it is necessary to add call statement</returns>
        private bool AddCallStatement(string query)
        {
            if (string.IsNullOrEmpty(query))
            {
                return(false);
            }

            string keyword   = query.ToUpper();
            int    indexChar = keyword.IndexOfAny(new char[] { '(', '"', '@', '\'', '`' });

            if (indexChar > 0)
            {
                keyword = keyword.Substring(0, indexChar);
            }

            if (keywords == null)
            {
                keywords = SchemaProvider.GetReservedWords().AsDataTable().
                           Select().
                           Select(x => x[0].ToString()).ToList();
            }

            return(!keywords.Contains(keyword));
        }