Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];

Вниз

Обрезается поле nvarchar в MSSQL   Найти похожие ветки 

 
Мила   (2005-03-02 10:13) [0]

Есть табличка, в которой храниться в поле FormulaResult  nvarchar(500) условие выборки для sql-запроса (например:"(IdSort>1) and (IdSort<4) and (IdParentMobil=2) and (IdMobilEnd=237)"). Хранимая процедура создает отчет по этим условиям. При выборке
DECLARE @FormulaResult VarChar(500)
SELECT @FormulaResult = FormulaResult FROM SprResult
в @FormulaResult  выбралось часть выражения. Когда смотришь в Enterprise Manager , то такое впечатление, что строку разбили на две (можно посмотреть первую часть, подводишь курсор к последнему символу, двыгаешься влево и выскакивает оставшаяся чась). Один раз такая ситуация уже была, заново ввели выражение, вчера - опять .
Помогите, пожалуйста


 
Johnmen ©   (2005-03-02 10:33) [1]

М.б. в строке встречается #10 или #0 ?


 
Мила   (2005-03-02 10:49) [2]

нет, только корректное sql-условие


 
ЮЮ ©   (2005-03-02 10:53) [3]

при чем здесь "корректное sql-условие"? Символы переноса могут встретиться в данных поля FormulaResult.


 
Мила   (2005-03-02 10:55) [4]

нету символов переноса


 
Johnmen ©   (2005-03-02 11:02) [5]

Приведи, как заполняется поле значением, когда с этим значением проблемы.


 
ЮЮ ©   (2005-03-02 11:17) [6]

>подводишь курсор к последнему символу, двыгаешься влево

не понял, чего и где можно двигать влево

Попробуй наоборот, раздвтнуть вправо столбец, благо грид ЕМ позволяет раздвигать его как угодно сильно и скроллировать затем


 
Мила   (2005-03-02 11:24) [7]

в поле строка "(((IdSort in (3,4)) and (IdParentMobil=2) and (IdTransport=3) and not(idParentPlaceBegin=8 and idPlaceBegin=1 and IdPartPlaceBegin=3)) or ((idSort>4) and (idSort<8) and (idParentMobil=2) and (IdTransport=3)) or ((IdSort in(2,3)) and (IdParentMobil=2) and (idParentPlaceBegin=8 and idPlaceBegin=1 and IdPartPlaceBegin=3) and ((idMobilEnd=237) or  (idTransport=3))))"
на экран монитора она не влезает, когда внутри по полю пробегаешь курсором, то идешь в конец или в начало


 
Ega23 ©   (2005-03-02 11:31) [8]

что-то мне не нравится, что поле в таблице - nvarchar(500), а переменная - varchar(500).
Хотя не должно к ошибке привести, но всё-таки...


 
Ольга   (2005-03-02 13:19) [9]

Вы переменную @FormulaResult смотрите в Query Analyser? И строка обрезана? Не должно быть так, может это ограничение просмотрового окна. Сравните длины строк. Символы перевода, даже если они есть, не должны мешать. nvarchar или varchar - тоже без разницы.
А может вы результат @FormulaResult считываете в Delphi в переменную типа String (255 символов)?


 
Топпер   (2005-03-02 17:06) [10]


> А может вы результат @FormulaResult считываете в Delphi
> в переменную типа String (255 символов)?


Ольга, читаем хелп:

AnsiString ~2^31 characters 4 bytes to 2GB 8-bit (ANSI) characters, DBCS ANSI, MBCS ANSI, etc.

...
In the default {$H+} state, the compiler interprets string (when it appears without a bracketed number after it) as AnsiString. Use the {$H-} directive to turn string into ShortString.


 
Ольга   (2005-03-02 17:28) [11]

[10]
Да, это я погорячилась. Имела ввиду случай присвоения значения переменной одной строкой:

A quoted string is a sequence of up to 255 characters from the extended ASCII character set, written on one line and enclosed by apostrophes.

Здесь явно не тот случай, sorry...


 
Anatoly Podgoretsky ©   (2005-03-02 17:56) [12]

Ega23 ©   (02.03.05 11:31) [8]
Ровно в два раза и обрежет.


 
Johnmen ©   (2005-03-02 18:09) [13]

>Anatoly Podgoretsky ©   (02.03.05 17:56) [12]

Похоже. nvchar - UNICODE.


 
Reindeer Moss Eater ©   (2005-03-02 18:11) [14]

А что никто не спрашивает про библиотеку доступа?


 
Anatoly Podgoretsky ©   (2005-03-02 20:20) [15]

Именно, SizeOf(Char)=SizeOf(WideChar)/2;
Конечно существует возможность, что будет произведено преобразования, но показания подследственного этого не подтвеждают.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.034 c
4-1108136039
DDA
2005-02-11 18:33
2005.03.27
Как узнать какая программа запустила мою программу


1-1110881847
Ozone
2005-03-15 13:17
2005.03.27
Обработка исключительных ситуаций


3-1109265922
Bogdan
2005-02-24 20:25
2005.03.27
Загрузка данных Query на форму


1-1110441679
shadowonline
2005-03-10 11:01
2005.03.27
Присвоение OnClientRead обработчика


1-1110540052
Володя
2005-03-11 14:20
2005.03.27
ProcessTerminate





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский