Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Перевод строки в запросе insert в табличное поле с данными nvarchar  [new]
nloss
Member

Откуда:
Сообщений: 11
Народ я начинающий программист подскажите как мне в запрос insert в табличное поле с данными nvarchar передать перевод строки?

Запрос вида insert into [Tabel1 ] values (дизайнер: Вася , способ оплаты : безнал) вот чтоб после "," был перенос строки.
27 янв 12, 15:59    [11984376]     Ответить | Цитировать Сообщить модератору
 Re: Перевод строки в запросе insert в табличное поле с данными nvarchar  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31984
nloss
Запрос вида insert into [Tabel1 ] values (дизайнер: Вася , способ оплаты : безнал) вот чтоб после "," был перенос строки.
Вставить перевод строки, как же ещё...

insert into [Tabel1 ] values ('дизайнер: Вася ,
 способ оплаты : безнал')

или
insert into [Tabel1 ] values ('дизайнер: Вася ,'+char(13)+' способ оплаты : безнал')
27 янв 12, 16:03    [11984412]     Ответить | Цитировать Сообщить модератору
 Re: Перевод строки в запросе insert в табличное поле с данными nvarchar  [new]
iap
Member

Откуда: Москва
Сообщений: 47144
alexeyvg
nloss
Запрос вида insert into [Tabel1 ] values (дизайнер: Вася , способ оплаты : безнал) вот чтоб после "," был перенос строки.
Вставить перевод строки, как же ещё...

insert into [Tabel1 ] values ('дизайнер: Вася ,
 способ оплаты : безнал')

или
insert into [Tabel1 ] values ('дизайнер: Вася ,'+char(13)+' способ оплаты : безнал')
1. Не CHAR(), а NCHAR()
2. Не CHAR(13), а NCHAR(13)+NCHAR(10) (пара этих символов правильно интерпретируется почти везде, а только один из них - не всегда)
27 янв 12, 16:17    [11984540]     Ответить | Цитировать Сообщить модератору
 Re: Перевод строки в запросе insert в табличное поле с данными nvarchar  [new]
Konst_One
Member

Откуда:
Сообщений: 11623
insert into [Tabel1 ] values (N'дизайнер: Вася ,'+nchar(13)+nchar(10)+N' способ оплаты : безнал')
27 янв 12, 16:37    [11984769]     Ответить | Цитировать Сообщить модератору
 Re: Перевод строки в запросе insert в табличное поле с данными nvarchar  [new]
nloss
Member

Откуда:
Сообщений: 11
iap
alexeyvg
пропущено...
Вставить перевод строки, как же ещё...

insert into [Tabel1 ] values ('дизайнер: Вася ,
 способ оплаты : безнал')

или
insert into [Tabel1 ] values ('дизайнер: Вася ,'+char(13)+' способ оплаты : безнал')
1. Не CHAR(), а NCHAR()
2. Не CHAR(13), а NCHAR(13)+NCHAR(10) (пара этих символов правильно интерпретируется почти везде, а только один из них - не всегда)


Запрос вот такой у меня формеруется .... что я не так делаю говорит error syntax near ','
INSERT INTO [admin].[Jobs] ([JID],[OrderId],[SubOrderId],[Name],[Url],[CreationDate],[DueDate],[Description],[Category],[Customer],[ArchivedDate],[Actor],[ActorDate],[CustomerRef],[Category2],[Category3], [Category4],[Category5],[Category6],[Category7],[ScopeMode],[CSR],[CSREMail],[CreatedFrom],[ProjectId])VALUES ('000000804','804','2','Заказ: Тижор 5 кг, 10 кг, 7 форм','\\Server\2012\1234\804_2','25.01.2012 0:00:00','28.01.2012 0:00:00','~Тех. Поля :5'+NCHAR(13)+NCHAR(10)+'~Дисторция:5'+NCHAR(13)+NCHAR(10)+'~Читаемость Форм:Прямая'+NCHAR(13)+NCHAR(10)+'~Вал: 123'+NCHAR(13)+NCHAR(10)+'~Линиатура:112'+NCHAR(13)+NCHAR(10)+'~Форм на вывод:7'+NCHAR(13)+NCHAR(10)+'~Общая площадь:1 060,01'+NCHAR(13)+NCHAR(10)+'~Отгрузка:Утро'+NCHAR(13)+NCHAR(10)+'~Доп. Информация:','Digital','1234','NULL','petrov@server','25.01.2012 0:00:00',,'Тов Печатная форма SEP 1.7','22','CDI (Ref)','Вертикально','|-    -| образные','Машина','Не авторизован','NULL','NULL','NULL')
27 янв 12, 18:16    [11985770]     Ответить | Цитировать Сообщить модератору
 Re: Перевод строки в запросе insert в табличное поле с данными nvarchar  [new]
nloss
Member

Откуда:
Сообщений: 11
Konst_One
insert into [Tabel1 ] values (N'дизайнер: Вася ,'+nchar(13)+nchar(10)+N' способ оплаты : безнал')

А что за N ?
27 янв 12, 18:18    [11985781]     Ответить | Цитировать Сообщить модератору
 Re: Перевод строки в запросе insert в табличное поле с данными nvarchar  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
nloss
Konst_One
insert into [Tabel1 ] values (N'дизайнер: Вася ,'+nchar(13)+nchar(10)+N' способ оплаты : безнал')

А что за N ?
https://www.sql.ru/faq/faq_topic.aspx?fid=127
27 янв 12, 18:18    [11985788]     Ответить | Цитировать Сообщить модератору
 Re: Перевод строки в запросе insert в табличное поле с данными nvarchar  [new]
nloss
Member

Откуда:
Сообщений: 11
Гавриленко Сергей Алексеевич
nloss
пропущено...

А что за N ?
https://www.sql.ru/faq/faq_topic.aspx?fid=127

Т.е. Мне перед каждыми '' в столбец Description необходимо поставить N и он перестанет ругаться на синтаксис?
27 янв 12, 18:20    [11985797]     Ответить | Цитировать Сообщить модератору
 Re: Перевод строки в запросе insert в табличное поле с данными nvarchar  [new]
nloss
Member

Откуда:
Сообщений: 11
iap,

,'~Тех. Поля :5'+NCHAR(13)+NCHAR(10)+'~Дисторция:5'+NCHAR(13)+NCHAR(10)+'~Читаемость Форм:Прямая'+NCHAR(13)+NCHAR(10)+'~Вал: 123'+NCHAR(13)+NCHAR(10)+'~Линиатура:112'+NCHAR(13)+NCHAR(10)+'~Форм на вывод:7'+NCHAR(13)+NCHAR(10)+'~Общая площадь:1 060,01'+NCHAR(13)+NCHAR(10)+'~Отгрузка:Утро'+NCHAR(13)+NCHAR(10)+'~Доп. Информация:',

Я вообще имею право таким образмом писать в одну ячейку таблицы?
27 янв 12, 18:24    [11985825]     Ответить | Цитировать Сообщить модератору
 Re: Перевод строки в запросе insert в табличное поле с данными nvarchar  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
nloss
Т.е. Мне перед каждыми '' в столбец Description необходимо поставить N и он перестанет ругаться на синтаксис?
Как это вы сделали такой вывод?
27 янв 12, 18:27    [11985840]     Ответить | Цитировать Сообщить модератору
 Re: Перевод строки в запросе insert в табличное поле с данными nvarchar  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
У вас две запятые подряд идут.
27 янв 12, 18:30    [11985857]     Ответить | Цитировать Сообщить модератору
 Re: Перевод строки в запросе insert в табличное поле с данными nvarchar  [new]
nloss
Member

Откуда:
Сообщений: 11
Гавриленко Сергей Алексеевич,

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

Ошибка при вызове метода контекста (Open)
recordset.open(Запрос,Connect);
по причине:
Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Line 1: Incorrect syntax near ','.
27 янв 12, 18:32    [11985863]     Ответить | Цитировать Сообщить модератору
 Re: Перевод строки в запросе insert в табличное поле с данными nvarchar  [new]
nloss
Member

Откуда:
Сообщений: 11
Гавриленко Сергей Алексеевич,

О увидел спасибо! Просто это мой 100 запрос написанный =) я ещё туплю много...
27 янв 12, 18:33    [11985866]     Ответить | Цитировать Сообщить модератору
 Re: Перевод строки в запросе insert в табличное поле с данными nvarchar  [new]
nloss
Member

Откуда:
Сообщений: 11
Гавриленко Сергей Алексеевич,

Блин какая то фигня уже ошибок 7 исправил и теперь снова .....

Английские буквы пишет в столбец, русские нет выдает ошибку

столбец nvarchar(100) так же всё как у остальных

а ошибка

Сообщение 8152, уровень 16, состояние 14, строка 2
Символьные или двоичные данные могут быть усечены.
Выполнение данной инструкции было прервано.

о_О уже совсем ничего не понимаю....
27 янв 12, 20:13    [11986339]     Ответить | Цитировать Сообщить модератору
 Re: Перевод строки в запросе insert в табличное поле с данными nvarchar  [new]
nloss
Member

Откуда:
Сообщений: 11
Гавриленко Сергей Алексеевич,

use [test]
INSERT INTO [Jobs] ([JID],[OrderId],[SubOrderId],[Name],[Url],[CreationDate],[DueDate],[Description],
[Category],[Customer],[ArchivedDate],[Actor],[ActorDate],[CustomerRef],[Category2],[Category3], [Category4],
[Category5],[Category6],[Category7],[ScopeMode],[CSR],[CSREMail],[CreatedFrom],[ProjectId])
VALUES (
'000000804',
'804',
'2',
'Тижор 5 кг10 кг7 форм',
'\\Server\2012\1234\804_2',
'20120125',--+
'20120126',--+
'~Тех. Поля :5'+NCHAR(13)+NCHAR(10)+'~Дисторция:5'+NCHAR(13)+NCHAR(10)+'~Читаемость Форм:Прямая'+NCHAR(13)+NCHAR(10)+'~Вал: 123'+NCHAR(13)+NCHAR(10)+'~Линиатура:112'+NCHAR(13)+NCHAR(10)+'~Форм на вывод:7'+NCHAR(13)+NCHAR(10)+'~Общая площадь:1 060,01'+NCHAR(13)+NCHAR(10)+'~Отгрузка:Утро'+NCHAR(13)+NCHAR(10)+'~Доп. Информация:',
'Digital',
'1234',
'20120122',--?
'petrov@server',
'20120127',
'2',
'Тов Печатная форма SEP 1.7',
'22',
'CDI (Ref)',
'Вертикально',
'|-  -| образные',
'Машина',
[color=purple]'АннаХабарова',[/color]
'NULL',
'NULL',
'NULL',

Так не работает
use [test]
INSERT INTO [Jobs] ([JID],[OrderId],[SubOrderId],[Name],[Url],[CreationDate],[DueDate],[Description],
[Category],[Customer],[ArchivedDate],[Actor],[ActorDate],[CustomerRef],[Category2],[Category3], [Category4],
[Category5],[Category6],[Category7],[ScopeMode],[CSR],[CSREMail],[CreatedFrom],[ProjectId])
VALUES (
'000000804',
'804',
'2',
'Тижор 5 кг10 кг7 форм',
'\\Server\2012\1234\804_2',
'20120125',--+
'20120126',--+
'~Тех. Поля :5'+NCHAR(13)+NCHAR(10)+'~Дисторция:5'+NCHAR(13)+NCHAR(10)+'~Читаемость Форм:Прямая'+NCHAR(13)+NCHAR(10)+'~Вал: 123'+NCHAR(13)+NCHAR(10)+'~Линиатура:112'+NCHAR(13)+NCHAR(10)+'~Форм на вывод:7'+NCHAR(13)+NCHAR(10)+'~Общая площадь:1 060,01'+NCHAR(13)+NCHAR(10)+'~Отгрузка:Утро'+NCHAR(13)+NCHAR(10)+'~Доп. Информация:',
'Digital',
'1234',
'20120122',--?
'petrov@server',
'20120127',
'2',
'Тов Печатная форма SEP 1.7',
'22',
'CDI (Ref)',
'Вертикально',
'|-  -| образные',
'Машина',
[color=purple]'SSSSSSSSSSSSSSSSSSSSSSSS',[/color]
'NULL',
'NULL',
'NULL',

А так работает =(((
27 янв 12, 20:17    [11986357]     Ответить | Цитировать Сообщить модератору
 Re: Перевод строки в запросе insert в табличное поле с данными nvarchar  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31984
nloss
Сообщение 8152, уровень 16, состояние 14, строка 2
Символьные или двоичные данные могут быть усечены.
Выполнение данной инструкции было прервано.

о_О уже совсем ничего не понимаю....
Это вы пытаетесь записать строку в поле, у которого максимальная длинна недостаточна для сохранения.
27 янв 12, 20:18    [11986363]     Ответить | Цитировать Сообщить модератору
 Re: Перевод строки в запросе insert в табличное поле с данными nvarchar  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
"работает" и "не работает" - это сообщения об ошибках?
27 янв 12, 20:19    [11986365]     Ответить | Цитировать Сообщить модератору
 Re: Перевод строки в запросе insert в табличное поле с данными nvarchar  [new]
nloss
Member

Откуда:
Сообщений: 11
Гавриленко Сергей Алексеевич,

О разобрался я не в то поле пишу =))))
27 янв 12, 20:23    [11986378]     Ответить | Цитировать Сообщить модератору
 Re: Перевод строки в запросе insert в табличное поле с данными nvarchar  [new]
nloss
Member

Откуда:
Сообщений: 11
alexeyvg,

Спасибо! =) я уже допер
27 янв 12, 20:23    [11986380]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить