Проблема с выражением запроса
Я получил имя участника из поля со списком, а из его имени, используя фильтр на таблице "участники", я получил его идентификатор. Теперь я пытаюсь получить все платежи, сделанные участником, используя его идентификатор, который является внешним ключом в таблице "платежи", но я получаю " синтаксическую ошибку (отсутствующий оператор)в выражении запроса '='"
Пожалуйста помочь
Заранее спасибо
Лидия
Что я уже пробовал:
CString name; long IDmember; m_combo_members.GetWindowTextW(name); Rmembers->m_strFilter = _T("[Member name] = '") + name + _T("'"); Rmembers->Open(); IDmember = Rmembers->m_IDmember; Rmembers->Close(); Rpayments->m_strFilter = _T("[ID member] = ") + IDmember; RCpayments->Open(); CString informations, strAmount, strDate; double amount; CTime date; while (!Rpayments->IsEOF()) { CString purpose = RClanarine->m_Purpose; amount = Rpayments->m_Amount; strAmount.Format(_T("%g"), amount); date = Rpayments->m_Date; strDate=date.Format("%d.%b.%Y"); informations = purpose + " " + strAmount + " " + strDate; m_combo_list_of_payments.AddString(informations); Rpayments->MoveNext(); }
Richard MacCutchan
Где находится запрос?
Lidach
Rpayments - >m_strFilter = _T ("[ID member] =") + IDmember;
Richard MacCutchan
Вы не можете добавить длинное значение к Строковой константе.
Lidach
Это пример из MSDN, и он был моим руководством:
// Установить фильтр
m_pSet - >m_strFilter = "CourseID =" + strCourseID;
Даже если я не использую макрос _T (), я получаю ту же ошибку
Что вы предлагаете, как я должен это решить?
Richard MacCutchan
Я уже говорил тебе: Вы не можете добавить длинный значение для a строка постоянный. Вам нужно использовать sprintf
или аналогично, чтобы создать правильно отформатированную строку.
Lidach
Хорошо, я попробую, спасибо