//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 = ""; } }
public bool validateConfigFile(string currentPath) { FileManipulator fm = new FileManipulator(); configFilePath = currentPath + ProgramSettings.configFilePath; string configFile = configFilePath + @"\" + ProgramSettings.configFileName; configFileText = fm.readFile(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 }
public string getTableNameFromQuery(string sqlQuery) { this.sqlQuery = sqlQuery; TextManipulator tm = new TextManipulator(); extractTableName(tm); return(tableName); }
//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)); }