singlepost

Поиск в DBGrid << На главную или назад  

Нужно сделать поиск в таблице DBGrid("Товары"), по значению "Код товара"(CODE_GOODS), т.е. по числовому значению, вводя в Edit

Сам накидал код, но при вводе в Edit выдает ошибку:

void __fastcall TMain::Edit3Change(TObject *Sender)
{
TLocateOptions Options;
Options.Clear();
Options << loCaseInsensitive << loPartialKey;
OraQuery1->Locate("CODE_GOODS", Edit3->Text, Options);
}

и кстати там Edit3->Text или StrToInt(Edit3->Text)? Ведь значение числовое.

Вот какую ошибку выдает:
'Access violation at address 004AD457 in module 'Project1.exe'.Read of address 00000094'.

Среда программирования Builder

18 ответов в теме “Поиск в DBGrid”

Страницы: [1] 2 »

  1. 1
    Кирилл Быков ответил:

    Телепаты в отпуске. В каком месте сваливается с ошибкой?

  2. 2
    Денис Боенсков ответил:

    Уверен, что вываливается в строке [OraQuery1->Locate("CODE_GOODS", Edit3->Text, Options);]. Причина: Неверные передаваемые параметры или неинициализированный указатель OraQuery1)

    >>и кстати там Edit3->Text или StrToInt(Edit3->Text)? Ведь значение числовое.
    Смотрим в доках описание функции Locate

  3. 3
    Ильдар Ильясов ответил:

    Да, именно там и выдает ошибку. Ок…

  4. 4
    Кирилл Быков ответил:

    "Уверен" — недостаточно. Мне нужен уровень "Знаю, проверил дебаггером".

  5. 5
    Кирилл Быков ответил:

    Попробуй так.
    void __fastcall TMain::Edit3Change(TObject *Sender)
    {
    TLocateOptions Options;
    Options.Clear();
    Variant KeyValues(Edit3->Text);
    Options << loCaseInsensitive << loPartialKey;
    OraQuery1->Locate("CODE_GOODS", KeyValues, Options);
    }

  6. 6
    Ильдар Ильясов ответил:

    Та же самая ошибка(

  7. 7
    Кирилл Быков ответил:

    Где, !@#$%?

  8. 8
    Ильдар Ильясов ответил:

    Показывает ошибку на строку:
    -> OraQuery1->Locate("CODE_GOODS", KeyValues, Options);

  9. 9
    Кирилл Быков ответил:

    Видимо, не создан объект OraQuery1.

  10. 10
    Ильдар Ильясов ответил:

    в OraQuery запрос забыл написать:select * from GOODS))Текущая ошибка устранена, но выдает новую)))

    'Field CODE_GOODS not found'

    а вот сам код:

    void __fastcall TMain::Edit3Change(TObject *Sender)
    {
    TLocateOptions Options;
    Options.Clear();
    Options << loCaseInsensitive << loPartialKey;
    OraQuery2->Locate("CODE_GOODS", Edit3->Text, Options);
    }

Страницы: [1] 2 »

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.