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

Вниз

Преобразование типа в SQL запросе...   Найти похожие ветки 

 
Conder   (2003-03-05 16:51) [0]

Имеется
Select (C.Vendor+" "+C.CPUName+" "+C.Freq+" "+C.Package) as qqq, P.Inp_pr, C.Addit from CPU C, Price P
Where C.kod=P.kod

В результате выборки поле qqq получается неограниченной длины ...
приведение типа qqq as varchar(150) выдает ошибку. Работаю через ADO провайдер Microsoft.Jet.OLEDB.4.0
З.Ы. Мож у кого то есть справочник по Jet.SQL кмньте в меня линком


 
Johnmen   (2003-03-05 16:54) [1]

А как приводишь ?


 
Conder   (2003-03-05 17:49) [2]

Дак пробовал по разному...
Cast упорно не работает... Кричит я таких функциев не знаю.
Напрашиваеться мысля что этот Jet.SQL как говорит "недоколыхалы" до полной совмести с ANSI-92...
Варианты qqq as varchar(150) тоже не проходят


 
sniknik   (2003-03-05 17:59) [3]

а чего хочеш? ограничить строку можно функцией Left(выражение, длинна) но поле в гриде все одно не ограничится тк. выражение длинна как для строки длинной 254 (ограничивай в гриде или в таблице/запросе у field size выставляй.).

хелп по jet sql ищи на машине с установленным полным офисом 2000/ХР зовется JETSQL40.CHM.


 
Conder   (2003-03-05 18:27) [4]

А т попробуй крутнуть такой запрос...
результат - нельзя даже сузить... Суть в том что если поле от создания в 50 символов то и вгриде оно будет на 50.. у тут лепит за 1500 и как с этим бороться?


 
BlackTiger   (2003-03-05 20:26) [5]

А поле можно объявить (в в дизайнере) и как variant, а не string.
И колонке в гриде прописать ширину.

А можно и Calculated-поле вставить в датасет.

Можешь использовать простой Trim() от Left"a), но скорее всего можешь потерять данные.

Кстати, длина поля-разультата складывается из максимальных длин составляющих.


 
Conder   (2003-03-06 11:35) [6]

Тут з дизайнером загвоздочка возникла... У меня в один и тот же DbGrid подставляются разные данные... т.е. колво столбцов является переменным и организ. в рантайме


 
sniknik   (2003-03-06 12:52) [7]

Conder (06.03.03 11:35)
не проблема, делай в рантайме (примерно)

ADODataSet.Open; //связаный с гридом
for i:= 0 to DBGrid.Columns.Count-1 do
if DBGrid.Columns[i].Width > 1000 then DBGrid.Columns[i].Width:= 200;

примерно так подобрать только значения.

а про SQL гдето читал что это не средство форматирования (правда), им ничего не добьешся.

BlackTiger (05.03.03 20:26)
> Кстати, длина поля-разультата складывается из максимальных длин составляющих.
не знаю у меня почемуто при любом вычислении со строкой вертает результат 255 дл. (проверил, раньше 254 ошибся). сам посмотри в сформированом FieldDefs после запроса. даже просто при Field + "", поле длинной 10 + пустая строка.




 
JibSkeart   (2003-03-06 13:08) [8]

Ну дык а Convert сли использовать ?


 
BlackTiger   (2003-03-06 13:19) [9]

>Ну дык а Convert сли использовать ?

Да нет у джета ни Convert ни Cast, там есть только Бейсиковские функции Left/Right/Trim/Mid (можно на конце ставить "$" тогда результат всегда будет String), CInt/CDate/CDouble (и их аналоги, возвращающие Variant - CVInt,CVDate,CVDouble). Ну и конечно же Format().

2sniknik
Да, насчет "сложения длин" может и по-горячился. А может и нет - что будет, если результат слияния строк >255 знаков?


 
sniknik   (2003-03-06 13:36) [10]

BlackTiger (06.03.03 13:19)
>Да, насчет "сложения длин" может и по-горячился. А может и нет - что будет, если результат слияния строк >255 знаков?

MEMO небось :-)) (обрезало по границе, не получилось МЕМО :-(()



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

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

Наверх




Память: 0.46 MB
Время: 0.009 c
1-76441
АндрейБ
2003-03-11 13:58
2003.03.24
передать данные в excel


1-76454
Beginer1
2003-03-11 08:42
2003.03.24
JavaScript ы+DELPHI


14-76619
Johnny Smith
2003-03-07 17:09
2003.03.24
http://lollygagger.org/artists/manfish/GeorgieW.swf


3-76286
Erden
2003-03-04 15:09
2003.03.24
Пароль на DB ...


1-76389
Borisogleb
2003-03-13 11:29
2003.03.24
Генерация хелпа для компонента





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский