Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.01.2016, 14:14   #1
qwq
Пользователь
 
Регистрация: 05.11.2009
Сообщений: 96
Печаль Убрать из строки слеш

Доброго времени суток. Очень нужна ваша помощь.
Имеется файл из которого берется строка с названием организации, в названии есть кавычки, которые при занесении в переменную типа string экранируются символом \, при выводе на экран \ нет.
Делая запрос к базе сравнивается значение из переменной string и значением в базе и получается что ничего не находит.
пример
в переменнои имеем string = ОАО \"Организация\" по МО
в базе ОАО "Организация" по МО
есть возможность сделать запрос без этого слеша?
replase не работает
qwq вне форума Ответить с цитированием
Старый 11.01.2016, 14:27   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

слэша нет в строке.
это лишь для отображения.

вы запрос как делаете?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 11.01.2016, 15:02   #3
qwq
Пользователь
 
Регистрация: 05.11.2009
Сообщений: 96
Печаль

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
вы запрос как делаете?
Изначально у меня имеется req файл, в котором содержатся данные о сертификате, вытаскиваю из этого файла все необходимые данные вот так
Код:
OpenFileDialog ofd = new OpenFileDialog();
            ofd.Filter = "*.req|*.req";
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                file = ofd.FileName;
            }
            var startinfo = new ProcessStartInfo("certutil", file);
            startinfo.UseShellExecute = false;
            startinfo.RedirectStandardOutput = true;
            var proc = new Process();
            proc.StartInfo = startinfo;
            proc.Start();
            var result = proc.StandardOutput.ReadToEnd();
            proc.WaitForExit();
            zap = result.ToString();
            //textBox1.Text = result.ToString();
            //zap = textBox1.Text;





            
            string[] resul = zap.Split(new[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
            foreach (string s in resul)
                reqdata.Add(s);
            foreach (string q in reqdata)
            {
                
                if (q.Contains(" O=") == true)//Название
                {                    
                    int l = q.Length;
                    int p = q.IndexOf("O=");
                    nazvanie = q.Substring(p + 2, q.Length - p - 2);
                    \\textBox2.Text = nazvanie;
                    textBox1.Text += "Название                  " + nazvanie + "\r\n";
                }
	     }


Запрос делаю вот так
Код:
SqlConnection conn = new SqlConnection();
            conn.ConnectionString = dbp.sp;\\строка подключения к бд

            SqlCommand comm = new SqlCommand();
            comm.Connection = conn;
            comm.CommandText = "SELECT * FROM org WHERE (nazvanie =  '" + nazvanie + "')";

            DataTable data = new DataTable();

            SqlDataAdapter adapter = new SqlDataAdapter(comm);
            adapter.Fill(data);

            dataGridView1.DataSource = data;

в базе данные выглядат так


а вот здесь виден тот слеш о котором я говорю


как можно избавиться от этого слеша, как сделать запрос без него?
пробовал заносить название организации в текстбокс и с него делать запрос
SELECT * FROM org WHERE (nazvanie = '" + textbox2.text + "')";
слеш все равно остается
qwq вне форума Ответить с цитированием
Старый 11.01.2016, 15:07   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Сказали ж уже, что нет там никакого слеша. Он только при отображении в отладчике (и то если нажать на иконку слева, то там не будет)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 11.01.2016, 16:16   #5
qwq
Пользователь
 
Регистрация: 05.11.2009
Сообщений: 96
По умолчанию

Как оказалось я сам ошибся. До нового года изменил тип строк на варчар с размером 50 и забыл про это, а сейчас после бурного празднования нг решил все доделать, при изменении типа строки названия обрезались и осталось только 50 символов из названия. Проблема решена
qwq вне форума Ответить с цитированием
Старый 11.01.2016, 19:22   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

не забывайте экранировать кавычки раз у вас сырой запрос.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
двойной слеш der90 SQL, базы данных 2 25.02.2014 17:30
exit/2 - зачем слеш? vedro-compota Общие вопросы C/C++ 7 02.06.2011 10:31
убрать строки из файлов france@ PHP 7 09.02.2009 20:18
Убрать пробелы из строки Neymexa Помощь студентам 2 09.12.2008 14:29
Убрать пробелы из строки Neymexa Общие вопросы по Java, Java SE, Kotlin 2 29.11.2008 11:03