Sorry Query1->Locate( ???, ????, ?????);
От: _Valera_  
Дата: 31.05.05 09:19
Оценка:
Уважаемый All. У меня возникла проблема.
Мне нужно осуществить поиск по двум полям в НД (поле1 — дата; поле2 — строка). Данные для поиска выхватываються из Edit1 and Edit2

Query1->Locate(.......).

В хелпнике билдера я нашел,

virtual bool __fastcall Locate(const AnsiString KeyFields,
const System::Variant &KeyValues,
TLocateOptions Options);

А можно написать по человечески, как это должно выглядеть

Зарание спасибо Валера
Re: Sorry Query1->Locate( ???, ????, ?????);
От: Аноним  
Дата: 31.05.05 09:31
Оценка:
Здравствуйте, _Valera_, Вы писали:

_V_>Уважаемый All. У меня возникла проблема.

_V_>Мне нужно осуществить поиск по двум полям в НД (поле1 — дата; поле2 — строка). Данные для поиска выхватываються из Edit1 and Edit2

_V_>Query1->Locate(.......).


_V_>В хелпнике билдера я нашел,


_V_>virtual bool __fastcall Locate(const AnsiString KeyFields,

_V_>const System::Variant &KeyValues,
_V_>TLocateOptions Options);

_V_>А можно написать по человечески, как это должно выглядеть


_V_>Зарание спасибо Валера


По человечески, это ты раскатал губу. Вот кусок кода, может разберёшься


    Variant v[2];
    v[0] = s;
    v[1] = Sender->Value;

    TDataSet *dsCust;

_:  if( !( dsCust = dsCustReq2HOME_NAME->LookupDataSet )->Locate(
                    "HOME_NAME;BIRTH", VarArrayOf( v, 1 ), TLocateOptions() ) ){
Re[2]: Sorry Query1->Locate( ???, ????, ?????);
От: _Valera_  
Дата: 31.05.05 11:41
Оценка:
А>По человечески, это ты раскатал губу. Вот кусок кода, может разберёшься

Меня интересует этот Вариантный массив

Variant v[2];
v[0] = s;
v[1] = Sender->Value;

!!!!! Такой код допустим

// в него можно любой тип поместить?????
Variant v[2];
v[0] = DateTimePicker1->DateTime;
v[1] = Edit2->Text;

TDataSet *ds;
if(ds = Query1->DataSource->DataSet)
{
ds->Locate("date; name", VarArrayOf( v, 1 ), TLocateOptions()<<loCaseInsensitive<<loPartialKey);
}

Типа так или нет??????
Re[3]: Sorry Query1->Locate( ???, ????, ?????);
От: Аноним  
Дата: 31.05.05 11:59
Оценка:
Здравствуйте, _Valera_, Вы писали:

А>>По человечески, это ты раскатал губу. Вот кусок кода, может разберёшься


_V_> Меня интересует этот Вариантный массив


_V_> Variant v[2];

_V_> v[0] = s;
_V_> v[1] = Sender->Value;

_V_>!!!!! Такой код допустим


_V_>// в него можно любой тип поместить?????

_V_> Variant v[2];
_V_> v[0] = DateTimePicker1->DateTime;
_V_> v[1] = Edit2->Text;

_V_> TDataSet *ds;

_V_> if(ds = Query1->DataSource->DataSet)
_V_> {
ds->>Locate("date; name", VarArrayOf( v, 1 ), TLocateOptions()<<loCaseInsensitive<<loPartialKey);
_V_> }

_V_> Типа так или нет??????


Ты знаешь, лень проверять. Вроде, всё правильно. Если только DateTime в Variant не запихается.
Re[4]: Sorry Query1->Locate( ???, ????, ?????);
От: _Valera_  
Дата: 31.05.05 12:45
Оценка:
:о)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.