На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Обязательно указание:
1) типа базы данных (Paradox/Oracle/Interbase и т.п.)
2) способа доступа к базе данных (ODBC/ADO/DAO/BDE и т.п.)
Например: Paradox/BDE, MS Access/ADO

Наиболее часто задаваемые вопросы:
Базы даных для начинающих. Первые шаги. Понятие о BDE.
Переход на клиент-сервер и начала ADO
Приёмы работы с BLOB (OLE/Memo) полями
Запросы и параметры или как избавиться от многих проблем. Проблемы с датами в запросах.
Нужели мне нужно устанавливать BDE? (или почему не работает программа на другом компьютере)
Модераторы: Bas, Rouse_
Страницы: (2) 1 [2]  все  ( Перейти к последнему сообщению )  
> TClientDataset обработка ошибки
    И это помешает ввести число 99999999999999999999999999999999999?
      Не пробовал. Констрайнты на сервере при создании таблиц пишу на допустимые значения. :tong:
        Цитата Павел Калугин @
        Цитата Delfin4ik @

        Delfin4ik поле.asinteger =strtoint(edit.text)
        Так ты сразу отловишь косяки ввода. А они будут, как ни рисуй защиту от дурака.

        чем это отличается от

        ExpandedWrap disabled
          поле.asString:=edit.text


        Добавлено
        Цитата Павел Калугин @
        И это помешает ввести число 99999999999999999999999999999999999?

        такая проверка легко решается даже без валидаторов JVCL простsм указанием Edit.MaxLength

        Добавлено
        но как я уже сказал все решается с помощью валидаторов JVCL
          Тем что сразу будет ошибка преобразования типов, которую можно легко обработать
            она и в моем случае будет :D

            Добавлено
            для сравнения
            ExpandedWrap disabled
              function StrToInt(const S: string): Integer;
              var
                E: Integer;
              begin
                Val(S, Result, E);
                if E <> 0 then ConvertErrorFmt(@SInvalidInteger, [S]);
              end;

            ExpandedWrap disabled
              procedure TIntegerField.SetAsString(const Value: string);
              var
                E: Integer;
                L: Longint;
              begin
                if Value = '' then Clear else
                begin
                  Val(Value, L, E);
                  if E <> 0 then DatabaseErrorFmt(SInvalidIntegerValue, [Value, DisplayName]);
                  SetAsInteger(L);
                end;
              end;

            думаю в комметариях нет нужды :lool:

            Добавлено
            те же яйца только в профиль:D
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0260 ]   [ 17 queries used ]   [ Generated: 29.03.24, 05:55 GMT ]