Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как добавить путь к файлу в mysql-базу из c#? проблема в "/" 
V
    Опции темы
makarov_dv
  Дата 19.1.2008, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 19.1.2008

Репутация: нет
Всего: нет



Доброго времени суток.

Пытаюсь добавить путь к файлу в базу в поле типа TEXT из textBox`а.
Т.е. имеется объект типа string, который предстовляет собой что-то типа:
 "c:/маша/вася/чай.exe"
при попытке занести в базу таким вот запросом:
"INSERT INTO type (link_programm) VALUE (' " +textBox1.Text + " ') "
в базу заносится только
 "c:машавасячай.exe"
что не так делаю? или что не сделал, чтобы заносилась вся строка со слэшами?
PM MAIL   Вверх
mr.DUDA
Дата 20.1.2008, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 8
Всего: 232



Можно попробовать экранировать слеши:
Код
"INSERT INTO type (link_programm) VALUE (' " +textBox1.Text.Replace("/", "//") + " ') "



--------------------
user posted image
PM MAIL WWW   Вверх
tol05
Дата 20.1.2008, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 11
Всего: 170



ага, хакеры уже давно таких подарков не получали... пишем в текстбоксе 
Код

') DROP TABLE ... и т.д.


нужно написать это как SqlCommand, текст внести в CommandText, а значение текстбокса передавать как SqlParameter.

Вся инфа в msdn, ключевые слова - SqlCommand, SqlCommand.CommandText, SqlParameter



--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
makarov_dv
Дата 21.1.2008, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 19.1.2008

Репутация: нет
Всего: нет



Цитата(mr.DUDA @ 20.1.2008,  18:08)
Можно попробовать экранировать слеши:
Код
"INSERT INTO type (link_programm) VALUE (' " +textBox1.Text.Replace("/", "//") + " ') "

во первых извиняюсь...имелся в виду конечно же обратный слэш....но я вижу меня правильно поняли...

во-вторых, я так пробовал....не получается....
вообще интересный теоретический вопрос
что из себя представляет такая конструкция: "\", 
если "\n" - символ перевода каретки, 
а "\\" - обратный слэш....?

тут понимаете ли в чем дело....вотчем в режиме дебага отследил
до того места, где непосредственно к серверу обащение идет....,
там строка запроса и так имеет вид: 
"c:\\маша\\вася\\чай.exe"

потом читаю другой...стопудово рабочей программой....из базы...оп...обратные слэши не занеслись.....


а на счет хакеров....
пока в данный момент просто изучаю муsql....пишу локальное приложеньеце для себя...всю свою коллекцию доков хочу как-то структурировать.....САМ чтобы.....кто-то там говорил ( smile ) чтобы изучить язык программирования, надо программировать на нем...
но за информацию спасибо.....учту на будущее....реально не подумал как-то 




PM MAIL   Вверх
mr.DUDA
Дата 22.1.2008, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 8
Всего: 232



Цитата(makarov_dv @  21.1.2008,  21:27 Найти цитируемый пост)
"c:\\маша\\вася\\чай.exe"

Уточняю, строка реально содержит по 2 слеша вместо одного, или в коде написано:
Код
... + "c:\\маша\\вася\\чай.exe" + ...

?

В последнем случае, строка всё ещё содержит по одному слешу.


--------------------
user posted image
PM MAIL WWW   Вверх
makarov_dv
Дата 22.1.2008, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 19.1.2008

Репутация: нет
Всего: нет



Цитата(mr.DUDA @ 22.1.2008,  18:06)
Цитата(makarov_dv @  21.1.2008,  21:27 Найти цитируемый пост)
"c:\\маша\\вася\\чай.exe"

Уточняю, строка реально содержит по 2 слеша вместо одного, или в коде написано:
Код
... + "c:\\маша\\вася\\чай.exe" + ...

?

Строка с путем к файлу берется из openFileDialog.FileName

PM MAIL   Вверх
makarov_dv
Дата 24.1.2008, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 19.1.2008

Репутация: нет
Всего: нет



Всем спасибо за участие....

Сам виноват в своих косяках.....

Если вместо обратного слэша писать прямой слэш, то конечно ничего работать не будет smile

С другой стороны радует, что ошибка по глупости, а не в фундаментальных понятиях....

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0467 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.