コード例 #1
0
        //wyciąga nazwę db z kwerendy wpisanej przez użytkownika
        private void extractTableName(TextManipulator tm)
        {
            //znajduję położenie wyrazu kluczowego "from" w kwerendzie
            List <int> keyWordFromPosition = tm.getSubstringStartPositions(sqlQuery, "from");

            try
            {
                //wywala bład gdy kwerenda jest na tyle bezsensowna, że nie potrafi wyłuskać sensownego wyrazu, który mógłby być nazwą bazy danych
                string textAfterFrom      = sqlQuery.Substring(keyWordFromPosition[0] + 5); //dodaję 5 tj długość wyrazu "from" i jedną spację
                int    firstSpacePosition = textAfterFrom.IndexOf(" ");
                if (firstSpacePosition == -1)                                               //brak spacji
                {
                    tableName = textAfterFrom;
                }
                else
                {
                    tableName = textAfterFrom.Substring(0, firstSpacePosition);
                }
            }
            catch (System.ArgumentOutOfRangeException e)
            {
                MyMessageBox.display("Błąd w kwerendzie", MessageBoxType.Error);
                tableName = "";
            }
        }
コード例 #2
0
        public bool validateConfigFile(string currentPath)
        {
            FileManipulator fm = new FileManipulator();

            configFilePath = currentPath + ProgramSettings.configFilePath;
            string configFile = configFilePath + @"\" + ProgramSettings.configFileName;

            configFileText = fm.readTextFile(configFile);
            if (!configFileText.Equals(""))                     //plik konfiguracyjny istnieje i nie jest pusty
            {
                TextManipulator tm      = new TextManipulator();
                List <int>      indexes = tm.getSubstringStartPositions(configFileText, ProgramSettings.connectionStringDelimiter);

                //jeżeli w pliku jest błąd i jest za dużo lub za mało znaczników
                if (indexes.Count != 2)
                {
                    MyMessageBox.display("błąd pliku konfiguracyjnego " + configFile + " dla znacznika " + ProgramSettings.connectionStringDelimiter, MessageBoxType.Error);
                    configFileValidated = false;
                }
            }
            else
            {
                configFileValidated = false;       //plik jest pusty lub go nie ma
            }
            configFileValidationWasDone = true;
            return(configFileValidated);             //domyślnie jest true
        }
コード例 #3
0
        public string getTableNameFromQuery(string sqlQuery)
        {
            this.sqlQuery = sqlQuery;
            TextManipulator tm = new TextManipulator();

            extractTableName(tm);
            return(tableName);
        }
コード例 #4
0
        //z pliku tekstowego wyciąga połączenie do serwera na podstawie znacznika "delimiter"
        private string readStringFromFile(string delimiter)
        {
            TextManipulator tm               = new TextManipulator();
            List <int>      indexes          = tm.getSubstringStartPositions(configFileText, delimiter);
            int             startIndex       = indexes[0] + delimiter.Length + 1; //kompensuję na > po znaczniku
            int             connStringLength = indexes[1] - startIndex - 2;       //kompensuję na </ przed znacznikiem

            return(configFileText.Substring(startIndex, connStringLength));
        }