![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
работа со строками [D7, Win2k]
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 ...