Показать полную графическую версию : Какие символы нельзя использовать в имени хранимой процедуры?
Cognolio
03-07-2009, 17:01
Приветствую.
Собсна сабж =)
Сразу скажу, я не программист и в SQL ничего не понимаю =). Попробовал погуглить, но чёт ниче не нашёл.
з.ы. прошу прощения, если создал тему не по адресу.
Delirium
06-07-2009, 02:16
А почему возник такой вопрос вообще? Просто ради интереса? По моему, хранимые процедуры называют логически понятным именем и называть ее "C:\Stored$ /procedure@" нет смысла. 90% что нельзя использовать те же самые символы, что и в названии файла или папки, а именно / \ : * ? < > |
Cognolio
08-07-2009, 12:35
Вопрос вот почему возник. Есть некая программа (название вам ничего не скажет), в этой проге есть поле, вписав в которое некое имя и нажав "Создать" (очень приблизительный алгоритм), в SQL базе создается хранимка вида "Import_текст из поля" (что находится внутри хранимки так же не имеет значения).
Если в это поле добавить некоторые спец символы, то, принажатии кнопки "Создать", падает эксепшн. Проверять всё - займет много времени, которого нет, и, в тоже время, ограничится только текстом нельзя.
Delirium
09-07-2009, 01:59
Я думаю, указанных мною символов будет достаточно для исключения. Прога на чем написана? Если на C#, то достаточно одной строки в редактировании TextBox для автоматического отсеивания ненужных символов.
Код на C# (приведенный код отсеивает все, кроме цифр и знака точки(.). Событие вешается на KeyPress. Заменив на требуемое, получите желаемый результат:
private void TextBox1_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = !System.Text.RegularExpressions.Regex.IsMatch(e.KeyChar.ToString(), @"[0-9, '.']");
}
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.