Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

работа со строками [D7, Win2k]


Страницы:   1 2

mari ©   (2003-10-14 16:28:00) 

Подскажите, пожалуйста, как проверить, что значение поля БД не начинается с "С", например.


MsGuns   (2003-10-14 20:22:00) [1]

>Anatoly Podgoretsky © (14.10.03 17:31) [21]
>Нужно писать так
if условие then
if второе условие then

и подстричься "под нуль" как комвзвода ?


Anatoly Podgoretsky   (2003-10-14 17:31:00) [2]

Skier © (14.10.03 16:52) [14]
Потому что при полном вычислении булевых выражений все равно будет обращение к S[1]

Нужно писать так
if условие then
if второе условие then

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


MsGuns   (2003-10-14 17:26:00) [3]

Пардон:
if (Field[n].AsString>"") and (Field[n].AsString [1]<>"C") then


MsGuns   (2003-10-14 17:26:00) [4]

>if Field.AsString [1]<> "C" then ...

Так нельзя - на пустом поле тупо вылетит по адресации

Правильно:
if (Field[n].AsString>"") and (Field[n].AsString<>"C") then


DAC   (2003-10-14 17:21:00) [5]


> Skier © (14.10.03 16:52) [14]
> >Anatoly Podgoretsky © (14.10.03 16:51) [13]
> Oops ! А почему ? :)

Действительно почему?
Или имеется ввиду вначале {$B-} добавить?


Семен Сорокин   (2003-10-14 17:14:00) [6]

NickBat © (14.10.03 17:11) [16]
тогда уж
select * from mytable where not(myfield like "C%")


NickBat   (2003-10-14 17:11:00) [7]

Такую дискуссию развели. :))))
А по-моему вопрос был про это:

select * from mytable where myfield like "C%"


Семен Сорокин   (2003-10-14 16:55:00) [8]

Anatoly Podgoretsky © (14.10.03 16:51) [13]
ну тогда
with Dataset do begin

if not Eof and Assigned(Field) and (Field.AsString <> EmptyStr) and (AnsiUpperCase(Field.AsString[1]) <> "C") then


так?
:))


Skier   (2003-10-14 16:52:00) [9]

>Anatoly Podgoretsky © (14.10.03 16:51) [13]
Oops ! А почему ? :)


Anatoly Podgoretsky   (2003-10-14 16:51:00) [10]

Я ошибся, именно про) [9] и идет речь, там может укусить


Skier   (2003-10-14 16:48:00) [11]

>Anatoly Podgoretsky © (14.10.03 16:46) [11]
Семен Сорокин © (14.10.03 16:42) [9]


Anatoly Podgoretsky   (2003-10-14 16:46:00) [12]

Skier © (14.10.03 16:37) [6]
Здесь тоже может укусить, давай надежный вариант


Skier   (2003-10-14 16:43:00) [13]

>mari (14.10.03 16:39) [7]
см. LIKE


Семен Сорокин   (2003-10-14 16:42:00) [14]

Skier © (14.10.03 16:37) [6]
тогда уж так
if (Field.AsString <> EmptyStr) and (AnsiUpperCase(Field.AsString[1]) <> "C") then ...


Palladin   (2003-10-14 16:42:00) [15]

Вы бы вдумались в предложеное чем оспаривать


mari   (2003-10-14 16:39:00) [16]

нет, не равно С, а начинается с него, там есть какие-то спецсимволы, вроде % или #, но я не помню как их применять а так
if str<>"c"+% не работает, собственно база тут ни при чем


Skier   (2003-10-14 16:37:00) [17]

Господа, лучше так :

if (Field.AsString <> EmptyStr) and (Field.AsString[1] <> "C")
then ...

А то укусит ! :)


Vlad   (2003-10-14 16:34:00) [18]

Вот это телепатия :)))


Юрий Зотов   (2003-10-14 16:33:00) [19]

:о)


Юрий Зотов   (2003-10-14 16:32:00) [20]

if Field.AsString[1] <> "C" then ...


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо