SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 08.10.2008 10:25:17

bRUtality
Завсегдатай
Зарегистрирован: 20.07.2008
Сообщений: 32

Непечатные символы

Всем доброго времени суток. У меня такая проблема: не могу записать строку, содержащую \t в столбец, содержащий побитовый тип данных (извините, забыл как этот тип правильно называется, а под рукой mysql нету) Работаю в MySQL6, VC2005 + Connector .Net.

Неактивен

 

#2 08.10.2008 12:46:19

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Непечатные символы

Вопрос непоняте, поясните конкртнее, что хотите сделать, а лучше приведите запрос.

Неактивен

 

#3 08.10.2008 13:26:01

bRUtality
Завсегдатай
Зарегистрирован: 20.07.2008
Сообщений: 32

Re: Непечатные символы

Запрос на C#:

sq = "INSERT INTO inform SET idt=" + Convert.ToString(Idt) + ",info=" + "QUOTE(" + sw +");";
sql.Insert(sq);

где sw = "1        1234    1342    123456    159    1    4000    0    0    4003        2    5000    5000    5000    1    1    5000    5001    5001    5001    1    1    5001    "
(пробелов нет, это \t)

Неактивен

 

#4 08.10.2008 13:27:30

bRUtality
Завсегдатай
Зарегистрирован: 20.07.2008
Сообщений: 32

Re: Непечатные символы

в местах где \t вылезает ошибка синтаксиса

Неактивен

 

#5 08.10.2008 13:39:06

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Непечатные символы

Вам следует заключить все в одиночные кавычки в запросе.
sq = "INSERT INTO inform SET idt='" + Convert.ToString(Idt) + "',info=" + "QUOTE('" + sw +"');";

Это по крайней мере. Во вторых QUOTE не предназначена для данного случая. Обрабатывать строку следует на клиенте функцией mysql_escape_string или аналогичной

Неактивен

 

#6 08.10.2008 13:46:57

bRUtality
Завсегдатай
Зарегистрирован: 20.07.2008
Сообщений: 32

Re: Непечатные символы

С кавычками попробую, спасибо. А вот использовать функции С API из под C# сколько не бился, не получается, даже на форум mysql.com по этому поводу писал

Неактивен

 

#7 08.10.2008 14:22:43

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Непечатные символы

Ну тогда просто в C# сделайте замену в строке ' на \' и другие замены, как описано в функции addslashes() http://ru2.php.net/addslashes

Неактивен

 

#8 08.10.2008 16:50:34

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Непечатные символы

Использование Connector.NET мы некоторое время обсуждали в соседнем топике:
http://sqlinfo.ru/forum/viewtopic.php?pid=4933#p4933

Конкретно Вам нужно вот это: http://dev.mysql.com/doc/refman/5.0/en/ … nd-prepare

Неактивен

 

#9 09.10.2008 12:41:12

bRUtality
Завсегдатай
Зарегистрирован: 20.07.2008
Сообщений: 32

Re: Непечатные символы

Спасибо, разобрался, все работает.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson