Lidach Ответов: 0

Проблема с выражением запроса


Я получил имя участника из поля со списком, а из его имени, используя фильтр на таблице "участники", я получил его идентификатор. Теперь я пытаюсь получить все платежи, сделанные участником, используя его идентификатор, который является внешним ключом в таблице "платежи", но я получаю " синтаксическую ошибку (отсутствующий оператор)в выражении запроса '='"


Пожалуйста помочь
Заранее спасибо
Лидия

Что я уже пробовал:

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

Хорошо, я попробую, спасибо

0 Ответов