Показать сообщение отдельно
Старый 02.05.2012, 12:35   #11  
uskutus is offline
uskutus
Участник
 
28 / 10 (1) +
Регистрация: 04.04.2012
Не получается сделать join.

Делаю. В ExequteQuery датасоурса постоянной таблицы myTable.

mytmptable mytmp;
;
***
mytmptable1.setTmpData(mytmp); //mytmptable1 имя datasource с временной таблицей.

qbds = this.query().dataSourceTable(tablenum(mytmptable));
qbds = qbds.addDataSource(tablenum(myTable)); - на этой строчке компилятор ругается "QueryBuildDataSource, объект не инициализирован."

qbds.addLink(fieldnum(myTable, key), fieldnum(myTmpTable, key));
qbds.joinMode(JoinMode::InnerJoin);

Под инициализацией это имелось ввиду?

Цитата:
Сообщение от dns Посмотреть сообщение
Хм... А что мешает сделать join с временной таблицей? Извените, конечно, если что - то не понял? Как вариант :
queryRun.setCursor(common);
Передаём туда временную таблицу (естественно изменив перед этим Query) и... Вуаля - должно работать
В MSDN ни полслова не нашел, что делает эта функция.
Попробовал вставить
this.queryRun().setCursor(mytmp);

В этой строке выдается ошибка - "неправильный аргумент типа функции." Причем почему-то уже на этапе выполнения.

Последний раз редактировалось uskutus; 02.05.2012 в 12:40.