Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Приведение букв к единому регистру в Firebird

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Базы данных
Предыдущая тема :: Следующая тема  
Автор Сообщение
Ustyugova



Зарегистрирован: 21.02.2008
Сообщения: 24

СообщениеДобавлено: Пт Фев 22 2008 21:36    Заголовок сообщения: Приведение букв к единому регистру в Firebird Ответить с цитатой

Помогите плз! Нужен триггер для приведения букв к единому регистру. На поле наложено ограничение check(meesure in('Т','КГ','Л','ШТ')
как сделать так чтобы можно было вводить и маленькими буквами, а триггер автоматически приводил буквы к единому регистру. Зарание спасибо Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
feomatr



Зарегистрирован: 17.03.2006
Сообщения: 2
Откуда: Ростов-на-Дону

СообщениеДобавлено: Ср Мар 05 2008 10:08    Заголовок сообщения: Re: Приведение букв к единому регистру в Firebird Ответить с цитатой

Ustyugova писал(а):
Помогите плз! Нужен триггер для приведения букв к единому регистру. На поле наложено ограничение check(meesure in('Т','КГ','Л','ШТ')
как сделать так чтобы можно было вводить и маленькими буквами, а триггер автоматически приводил буквы к единому регистру. Зарание спасибо Smile

new.str = upper(new.str);
проверил - на русском работает
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Ustyugova



Зарегистрирован: 21.02.2008
Сообщения: 24

СообщениеДобавлено: Ср Мар 05 2008 18:08    Заголовок сообщения: Ответить с цитатой

cпасибо большое Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Dmitriy_3206



Зарегистрирован: 27.12.2004
Сообщения: 61
Откуда: Chernigov

СообщениеДобавлено: Пт Июл 18 2008 16:25    Заголовок сообщения: Ответить с цитатой

А у меня не работает с руским, пришлось свою UDF делать
Могу поделится готовой иль исходником (Codegear)
Умеет
Всю строку маленькими
Всю строку большими
Первая большая остальные маленькие
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Ustyugova



Зарегистрирован: 21.02.2008
Сообщения: 24

СообщениеДобавлено: Ср Июл 30 2008 16:14    Заголовок сообщения: Ответить с цитатой

Можно и то и другое
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Dmitriy_3206



Зарегистрирован: 27.12.2004
Сообщения: 61
Откуда: Chernigov

СообщениеДобавлено: Чт Июл 31 2008 00:44    Заголовок сообщения: Ответить с цитатой

library uplower;

{ Important note about DLL memory management: ShareMem must be the
first unit in your library's USES clause AND your project's (select
Project-View Source) USES clause if your DLL exports any procedures or
functions that pass strings as parameters or function results. This
applies to all strings passed to and from your DLL--even those that
are nested in records and classes. ShareMem is the interface unit to
the BORLNDMM.DLL shared memory manager, which must be deployed along
with your DLL. To avoid using BORLNDMM.DLL, pass string information
using PChar or ShortString parameters. }

uses
SysUtils,
Classes;

function UpperAll(s: PChar): PChar; cdecl; export;
begin
Result:=AnsiStrUpper(s);
end;

function LowerAll(s: PChar): PChar; cdecl; export;
begin
Result:=AnsiStrLower(s);
end;

function UpperFirst(s: PChar): PChar; cdecl; export;
var r: string;
begin
r:=strpas(s);
r:=AnsiUpperCase(Copy(r, 1, 1)) + copy(r, 2, MaxInt);
Result:=PCHAR(r);
end;

{$R *.res}

exports UpperAll;
exports LowerAll;
exports UpperFirst;
begin

end.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Dmitriy_3206



Зарегистрирован: 27.12.2004
Сообщения: 61
Откуда: Chernigov

СообщениеДобавлено: Чт Июл 31 2008 00:44    Заголовок сообщения: Ответить с цитатой

SET TERM ^;

DECLARE EXTERNAL FUNCTION UpperFirst
CSTRING(255)
RETURNS CSTRING(255) FREE_IT
ENTRY_POINT 'UpperFirst' MODULE_NAME 'uplower.dll';
^


DECLARE EXTERNAL FUNCTION UPPERALL
CSTRING(255)
RETURNS CSTRING(255) FREE_IT
ENTRY_POINT 'UpperAll' MODULE_NAME 'uplower.dll';
^

DECLARE EXTERNAL FUNCTION LOWERALL
CSTRING(255)
RETURNS CSTRING(255) FREE_IT
ENTRY_POINT 'LowerAll' MODULE_NAME 'uplower.dll';
^

SET TERM ; ^
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Ustyugova



Зарегистрирован: 21.02.2008
Сообщения: 24

СообщениеДобавлено: Пн Авг 04 2008 18:20    Заголовок сообщения: Ответить с цитатой

Спасибо большое Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Базы данных Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...