Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.24;
Скачать: CL | DM;

Вниз

Преобразование типа в 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.018 c
1-76447
АндрейБ
2003-03-11 09:05
2003.03.24
Объединение ячеек


8-76530
Ssergy
2002-11-07 18:32
2003.03.24
Помогите с расчетом координат.


3-76340
Andy Eremin
2003-03-06 07:09
2003.03.24
SQL UPDATE


9-76254
kronic
2002-10-23 08:48
2003.03.24
как написать движок для RPG игы


14-76622
Карелин Артем
2003-03-06 13:32
2003.03.24
Интернет-ужас.