The dbo::collection iterator does retuns the same value on interation, please let me know how fix it.
Added by Rathnadhar K V over 10 years ago
Namasthe,
My mysql table is as follows:
-----------------------------------------------------------------------------------------------------------+
| Field | Type | Null | Key | Default | Extra |
-----------------------------------------------------------------------------------------------------------+
| country_iso_3166_numeric_code | smallint(6) | NO | PRI | 0 | |
| country_iso_3166_a2_code | varchar(2) | YES | MUL | ZZ | |
| country_iso_3166_a3_code | varchar(3) | YES | | ZZZ | |
| country_name | varchar(48) | YES | | UNDEFINED | |
| country_legal_name | varchar(128) | YES | | UNDEFINED | |
| country_native_name | varchar(256) | YES | | UNDEFINED | |
| currency_iso_4217_number_code | smallint(6) | YES | MUL | 999 | |
| country_calling_code | int(11) | YES | | 0 | |
| country_internet_extension | varchar(3) | YES | | .zz | |
| country_follows_dst | tinyint(1) | YES | | 0 | |
-----------------------------------------------------------------------------------------------------------+
country_iso_3166_numeric_code content is as follows (first 10 values):
AF
AL
AQ
DZ
AS
AD
AO
AG
AZ
AR ¶
my ORM class is as follows:
#include
#include
namespace dbo = Wt::Dbo;
class sambhaashane_country_iso_3166_orm;
namespace Wt
{
namespace Dbo
{
template<>
struct dbo_traits : public dbo_default_traits
{
static const char *id()
{
return "country_iso_3166_numeric_code";
}
static const char *surrogateIdField()
{
return 0;
}
static const char *versionField()
{
return 0;
}
};
}
}
class sambhaashane_country_iso_3166_orm
{
public:
int country_iso_3166_numeric_code;
std::string country_iso_3166_a2_code;
std::string country_iso_3166_a3_code;
std::string country_name;
std::string country_legal_name;
std::string country_native_name;
int currency_iso_4217_number_code;
int country_calling_code;
std::string country_internet_extension;
bool country_follows_dst;
template
void persist(Action& a)
{
dbo::id(a,country_iso_3166_numeric_code,"country_iso_3166_numeric_code");
dbo::field(a, country_iso_3166_numeric_code, "country_iso_3166_numeric_code");
dbo::field(a, country_iso_3166_a2_code, "country_iso_3166_a2_code");
dbo::field(a, country_iso_3166_a3_code, "country_iso_3166_a3_code");
dbo::field(a, country_name, "country_name");
dbo::field(a, country_legal_name, "country_legal_name");
dbo::field(a, country_native_name, "country_native_name");
dbo::field(a, currency_iso_4217_number_code, "currency_iso_4217_number_code");
dbo::field(a, country_calling_code, "country_calling_code");
dbo::field(a, country_internet_extension, "country_internet_extension");
dbo::field(a, country_follows_dst, "country_follows_dst");
}
};
typedef dbo::collection< dbo::ptr> Countries;
Countries countries; ¶
The snippet of my code to get data from the above table is as follows:
session.mapClass("country_iso_3166_tbl");
dbo::Transaction transaction1(session);
countries = session.find();
Countries::const_iterator country = countries.begin();
while(country != countries.end())
{
std::cout << "Country: " << (*country)->country_iso_3166_a2_code;
country;
}
The output is as follows:
1] Country: AF
2] Country: AF
3] Country: AF
4] Country: AF
5] Country: AF
6] Country: AF
....
247] Country: AF
the collection has same value for all 247 entries ..which is wrong. The iterator exits after 247 interations which is correct.
But the vaues shown for the country_iso_3166_a2_code is same for all 247 iterations, which is wrong.
Where am I going wrong? How to fix the issue so that interator iterates over 247 values with different values for country_iso_3166_a2_code.
Regards
Rathna
Replies (17)
RE: The dbo::collection iterator does retuns the same value on interation, please let me know how fix it. - Added by Rathnadhar K V over 10 years ago
Namasthe,
On debugging I found that
Countries::const_iterator country
was not iterating on country; directive.
So the iterator was struck at a particular value. But strangely (country != countries.end()) was exiting after 246 loops as expected. That means the country value should have changed....bit puzzling....
RE: The dbo::collection iterator does retuns the same value on interation, please let me know how fix it. - Added by Alex V over 10 years ago
I don't see how this isn't working for you.
This code works perfectly for me (Wt version 3.3.3)
@Wt::Dbo::collection<Wt::Dbo::ptr> files = session_.find();
Wt::Dbo::collection<Wt::Dbo::ptr>::const_iterator i = files .begin();
while(i != files.end())
{
std::cout << "Country: " << (*i)->size;
i;
}@
You are showing us your first 10 rows for the field: country_iso_3166_numeric_code
but you are iterating over the database and printing the field: country_iso_3166_a2_code
are you sure that country_iso_3166_a2_code field is not full of AF values?
RE: The dbo::collection iterator does retuns the same value on interation, please let me know how fix it. - Added by Rathnadhar K V over 10 years ago
Namasthe Alex,
The problem got worse now. I am getting exception !!
Here is my code:
int main(int argc, char **argv)
{
/*
- Setup a session, would typically be done once at application startup.
*/
dbo::backend::MySQL sambhaashane("sambhaashane",
"sambhaashane",
"secret",
"localhost",
3306,
"/var/run/mysql/mysql.sock");
sambhaashane.setProperty("show-queries", "true");
dbo::Session session;
session.setConnection(sambhaashane);
session.mapClass("country_iso_3166_tbl");
dbo::Transaction transaction(session);
typedef Wt::Dbo::collection< dbo::ptr > Countries;
Countries countries = session.find();
bool flag = transaction.isActive();
{
Wt::Dbo::collection< dbo::ptr >::const_iterator country = countries.begin();
int index = 0;
while(country != countries.end())
{
std::cout << index
<< "] Country: "
<< (*country)->country_iso_3166_numeric_code
<< '\n';
country;
}
}
}
===
When I run, the output is:
start transaction
select "country_iso_3166_numeric_code", "country_iso_3166_a2_code", "country_iso_3166_a3_code", "country_name", "country_legal_name", "country_native_name", "currency_iso_4217_number_code", "country_calling_code", "country_internet_extension", "country_follows_dst" from "country_iso_3166_tbl"
terminate called after throwing an instance of 'Wt::Dbo::Exception'
what(): Dbo load(): no active transaction
Press to close this window...
I see that the tranasction_ variable is 0x0. Giving raise to above exception.
Here is additional info:
Linux : OpenSuse 13.1
Db: maria db : mysql Ver 15.1 Distrib 5.5.33-MariaDB, for Linux (i686) using readline 5.1
Boost: Boost 1_53_0
Wt: 3.3.3.
I downloaded boost and compiled it into /usr/local/lib/boost_1_53_0 directory
I downloaded wt 3.3.3 and compiled it into /usr/local/lib/wt_3_3_3 directory (linked to the above boost libs).
Please let me know where I am going wrong.
I have given the complete source code.
The country_iso_3166_tbl: Is fully populated with country information. there are no null cells in the table.
Regards
Rathna
RE: The dbo::collection iterator does retuns the same value on interation, please let me know how fix it. - Added by Rathnadhar K V over 10 years ago
Namasthe,
The session.transaction_ is 0x0 after the session.find<sambhaashane_country_iso_3166_orm>(); operation.
This is being checked in the countries.begin();
In the method:
template
void Session::implLoad(MetaDbo& dbo, SqlStatement *statement, int& column)
{
if (!transaction_)
throw Exception("Dbo load(): no active transaction");
LoadDbAction action(dbo, *getMapping(), statement, column);
C *obj = new C();
try {
action.visit(*obj);
dbo.setObj(obj);
} catch (...) {
delete obj;
throw;
}
}
the exception is "thrown"....
What is the issue here... Please help me resolve this.
Regards
Rathna
RE: The dbo::collection iterator does retuns the same value on interation, please let me know how fix it. - Added by Alex V over 10 years ago
It appears that you do not have an active transaction.
read the Wt::Dbo tutorial
http://www.webtoolkit.eu/wt/doc/tutorial/dbo/tutorial.html
RE: The dbo::collection iterator does retuns the same value on interation, please let me know how fix it. - Added by Rathnadhar K V over 10 years ago
Namasthe,
I have already published the entire code.... Please have a look at it.
The code snippet is here:
Wt::Dbo::Session session;
session.setConnection(sambhaashane);
session.mapClass("country_iso_3166_tbl");
Wt::Dbo::Transaction transaction(session);
{
typedef Wt::Dbo::collection< dbo::ptr > Countries;
Countries countries = session.find();
bool flag = transaction.isActive();
as you cansee....I have started the transaction ...as per the wt::dbo tutorial.
Still I get an exception.... please let me know why?
I m struck. Please help me.
Regards
Rathna
RE: The dbo::collection iterator does retuns the same value on interation, please let me know how fix it. - Added by Koen Deforche over 10 years ago
Hey,
dbo::id(a,country_iso_3166_numeric_code,"country_iso_3166_numeric_code");
dbo::field(a, country_iso_3166_numeric_code, "country_iso_3166_numeric_code");
You need to remove the 'field()' : you are mapping the same field twice, once as a id, and a second time as plain field.
I'm not sure how that confuses Wt::Dbo though, but it might.
I cannot explain why you would be getting a 'no transaction active' exception though.
Regards,
koen
RE: The dbo::collection iterator does retuns the same value on interation, please let me know how fix it. - Added by Rathnadhar K V over 10 years ago
Namasthe
I am using wt 3.3.3 version. I think there is a problem lurking in the wt dbo section. The transaction_ variable is not getting updated. It stays at 0x0, thus throwing an exception.
I have attached the screen shots. I have highlighted the transaction_ value.
Kindly help to fix the issue asap.
Regards
Rathna
transaction.png (74.7 KB) transaction.png |
RE: The dbo::collection iterator does retuns the same value on interation, please let me know how fix it. - Added by Rathnadhar K V over 10 years ago
Any solution found by anybody..
Please help.
Regards
Rathna
RE: The dbo::collection iterator does retuns the same value on interation, please let me know how fix it. - Added by Wim Dumon over 10 years ago
Hi,
Is all of the code that you pasted above in the same function?
Can you submit a full example that demonstrates the problem?
BR,
Wim.
RE: The dbo::collection iterator does retuns the same value on interation, please let me know how fix it. - Added by Rathnadhar K V over 10 years ago
I am uploading all the files including the .pro that i use to build.
Please let me know the error source.
Regards
Rathna
sambhaashane_web.pro (2.04 KB) sambhaashane_web.pro | The build file | ||
sambhaashane_country_iso_3166_orm.h (2.18 KB) sambhaashane_country_iso_3166_orm.h | The ORM file. | ||
sambhaashane_web_index.cpp (1.59 KB) sambhaashane_web_index.cpp | The code file |
RE: The dbo::collection iterator does retuns the same value on interation, please let me know how fix it. - Added by Koen Deforche over 10 years ago
Hey,
I tried your test case, but that works without any problem for me. I modified your test case to also add a data record, and to use SQlite3 instead of MySQL (because I do not have a MySQL on this computer now actually), see attached.
test.wt
begin transaction
create table "country_iso_3166_tbl" (
"country_iso_3166_numeric_code" integer not null,
"country_iso_3166_a2_code" text not null,
"country_iso_3166_a3_code" text not null,
"country_name" text not null,
"country_legal_name" text not null,
"country_native_name" text not null,
"currency_iso_4217_number_code" integer not null,
"country_calling_code" integer not null,
"country_internet_extension" text not null,
"country_follows_dst" boolean not null,
primary key ("country_iso_3166_numeric_code")
)
commit transaction
begin transaction
insert into "country_iso_3166_tbl" ("country_iso_3166_numeric_code", "country_iso_3166_a2_code", "country_iso_3166_a3_code", "country_name", "country_legal_name", "country_native_name", "currency_iso_4217_number_code", "country_calling_code", "country_internet_extension", "country_follows_dst") values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
commit transaction
begin transaction
select "country_iso_3166_numeric_code", "country_iso_3166_a2_code", "country_iso_3166_a3_code", "country_name", "country_legal_name", "country_native_name", "currency_iso_4217_number_code", "country_calling_code", "country_internet_extension", "country_follows_dst" from "country_iso_3166_tbl"
0] Country: 40
commit transaction
I suspect you have some build inconsistency: are you using the same compiler (e.g. C+11 versus C+03) and are you not by any chance having multiple versions of Wt and mixing include/libraries?
Does the modified example work correctly for you?
Koen
RE: The dbo::collection iterator does retuns the same value on interation, please let me know how fix it. - Added by Jonathan lisein over 1 year ago
Hi,
I know this is an old post but I am experiencing the same problem than Rathna. It is very frustrating as the wt dbo library seems very interesting (I am using it but without iteration on dbo collection). I use sqlite3 on ubuntu, with the last Wt version from github repository.
I tried several things and I ended up by checking the building consistency, as suggested by Koen. But I am not sure I checked properly, it is a bit out of my skill. I have multiple version of Wt but apperently my app is using the proper one. Does anyone has a solution for this issue? I can share my code, but as Koen tested the code of Rathna and have not reproduced the bug on its computer, I suppose it is not usefull to share the code right now.
Jo
RE: The dbo::collection iterator does retuns the same value on interation, please let me know how fix it. - Added by Matthias Van Ceulebroeck over 1 year ago
Hello Jonathan,
sharing code is always useful. You set-up is slightly different. I would appreciate a minimal example, so that I can try to reproduce the issue.
RE: The dbo::collection iterator does retuns the same value on interation, please let me know how fix it. - Added by Jonathan lisein over 1 year ago
Hi Matthias,
Here is a reproductible example:
header.h
#ifndef HEADER_H
#define HEADER_H
#include <sqlite3.h>
#include <map>
#include <string>
#include <Wt/Dbo/Dbo.h>
#include <Wt/Dbo/backend/Sqlite3.h>
#pragma GCC diagnostic ignored "-Wunused-function"
#pragma GCC diagnostic ignored "-Wreorder"
namespace dbo = Wt::Dbo;
using namespace std;
class caracteristiqueCS{
public:
caracteristiqueCS():zbio(0),station_id(0),VCP(0),SES(0),SCC(0),RCS(0),PB(0),tass_sol(0),N2000(""),N2000_maj(""),Wal(""),Wal_maj(""){}
int VCP,SES,SCC,RCS,PB,tass_sol;
int zbio,station_id;
std::string Wal,Wal_maj,N2000,N2000_maj;
template<class Action>
void persist(Action& a)
{
dbo::field(a, zbio, "zbio");
dbo::field(a, station_id, "station_id");
dbo::field(a, VCP, "VCP");
dbo::field(a, SES, "SES");
dbo::field(a, SCC, "SCC"); //sensibilité aux changement climatique, plus de microclimat
dbo::field(a, RCS, "RCS");
dbo::field(a, PB, "PB");
dbo::field(a, Wal, "Wal");
dbo::field(a, Wal_maj, "Wal_maj");
dbo::field(a, N2000, "N2000");
dbo::field(a, N2000_maj, "N2000_maj");
dbo::field(a, tass_sol, "tass_sol");
}
caracteristiqueCS(const caracteristiqueCS * c):zbio(c->zbio),station_id(c->station_id),VCP(c->VCP),SES(c->SES),SCC(c->SCC),RCS(c->RCS),PB(c->PB),Wal(c->Wal),Wal_maj(c->Wal_maj),N2000(c->N2000),N2000_maj(c->N2000_maj),tass_sol(c->tass_sol){}
private:
};
class cdicoAptBase : public std::enable_shared_from_this<cdicoAptBase>
{
public:
cdicoAptBase(std::string aBDFile);
void closeConnection();
int openConnection();
protected:
std::string mBDpath;
sqlite3 **db_;
sqlite3 * ptDb_;
std::map<std::pair<int,int>,caracteristiqueCS> Dico_US2KK;
};
#endif // HEADER_H
main.cpp
#include <iostream>
#include "header.h"
int main()
{
cout << "Hello World!" << endl;
cdicoAptBase *dico=new cdicoAptBase("/home/jo/app/Forestimator/carteApt/data/aptitudeEssDB.db");
return 0;
}
cdicoAptBase::cdicoAptBase(std::string aBDFile):mBDpath(aBDFile),ptDb_(NULL)
{
db_=&ptDb_;
if (openConnection()){
std::cout << " bd pas ouverte!!!\n"<< std::endl;
} else {
/* This first part is using slite3 without Wt */
sqlite3_stmt * stmt;
std::string SQLstring="SELECT Ess_FR,Code_FR,prefix, FeRe FROM dico_essences ORDER BY Ess_FR DESC;";
sqlite3_prepare_v2( *db_, SQLstring.c_str(), -1, &stmt, NULL );//preparing the statement
while(sqlite3_step(stmt) == SQLITE_ROW)
{
if (sqlite3_column_type(stmt, 0)!=SQLITE_NULL && sqlite3_column_type(stmt, 1)!=SQLITE_NULL){
std::string aNomEs=std::string( (char *)sqlite3_column_text( stmt, 0 ) );
std::string aCodeEs=std::string( (char *)sqlite3_column_text( stmt, 1 ) );
std::string aPrefix=std::string( (char *)sqlite3_column_text( stmt, 2 ) );
/* I do what i want with the result*/
}
}
sqlite3_finalize(stmt);
closeConnection();
/* Here I use Wt:dbo */
std::unique_ptr<dbo::backend::Sqlite3> sqlite3{new dbo::backend::Sqlite3(mBDpath)};
Wt::Dbo::Session session;
session.setConnection(std::move(sqlite3));
session.mapClass<caracteristiqueCS>("caracteristiqueCS");
dbo::Transaction transaction{session};
// first iteration without collection (working properly)
for (int us(1);us <18;us++){
dbo::ptr<caracteristiqueCS> pt = session.find<caracteristiqueCS>().where("zbio = ?").bind(1).where("station_id = ?").bind(us);
// I create a copy of caracteristiqueCS because I am not at ease with the dbo::ptr system
caracteristiqueCS kkCSCopy(pt.get());
std::cout <<"caracteristiqueCS id: " << kkCSCopy.station_id << std::endl;
Dico_US2KK.emplace(std::make_pair(std::make_pair(kkCSCopy.zbio,kkCSCopy.station_id),kkCSCopy));
}
std::cout << "second iteration with collection"<< std::endl;
// test collection and iteration on element of collection
typedef dbo::collection< dbo::ptr<caracteristiqueCS> > collectionKKCS;
collectionKKCS col = session.find<caracteristiqueCS>().where("zbio = ?").bind(1);
std::cout << "collection size " << col.size() << std::endl;
dbo::collection<dbo::ptr<caracteristiqueCS>>::const_iterator i = col.begin();
while(i != col.end())
{
std::cout << "caracteristiqueCS id: " << (*i)->station_id<< std::endl;
i++;
}
// third iteration without collection
std::cout << "a last run"<< std::endl;
for (int us(1);us <18;us++){
dbo::ptr<caracteristiqueCS> pt = session.find<caracteristiqueCS>().where("zbio = ?").bind(1).where("station_id = ?").bind(us);
// I create a copy of caracteristiqueCS because I am not at ease with the dbo::ptr system
caracteristiqueCS kkCSCopy(pt.get());
std::cout <<"caracteristiqueCS id: " << kkCSCopy.station_id << std::endl;
Dico_US2KK.emplace(std::make_pair(std::make_pair(kkCSCopy.zbio,kkCSCopy.station_id),kkCSCopy));
}
}
}
void cdicoAptBase::closeConnection(){
int rc = sqlite3_close(*db_);
if( rc ) {
fprintf(stderr, "Can't close database: %s\n\n\n", sqlite3_errmsg(*db_));
}
}
int cdicoAptBase::openConnection(){
int rc;
rc = sqlite3_open(mBDpath.c_str(), db_);
if( rc!=0) {
fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(*db_));
std::cout << " mBDpath " << mBDpath << std::endl;
std::cout << "result code : " << rc << std::endl;
}
return rc;
}
below the content of the table caracteristiqueCS
zbio;station_id;VCP;SES;SCC;RCS;PB;Wal;Wal_maj;N2000;N2000_maj;tass_sol
1;1;4;4;4;1;1;G1.51;G1.51;91D0*;91D0*;1
1;2;3;4;4;1;2;G1.41b, G1.52;G1.41b;;;1
1;3;4;3;3;1;2;G1.81;G1.81;9190;9190;1
1;4;4;3;1;2;2;G1.81;G1.81;9190;9190;2
1;5;3;2;3;2;3;G1.61, G1.87a;G1.61;9110;9110;2
1;6;4;4;4;2;2;G1.212, G1.211;G1.212;91E0*;91E0*;1
1;7;4;4;4;2;4;G1.212, G1.A1ca;G1.A1ca;91E0*, 9160;9160;2
1;8;3;3;4;3;4;G1.A1ca, G1.61, G1.87a, G1.63a;G1.61;9110, 9130, 9160;9110;2
1;9;4;4;4;1;3;G1.A41a, G1.A41b, G1.A41c;G1.A41b;9180*;9180*;4
1;10;3;3;1;1;2;G1.87a, G1.87b;G1.87a;;;4
1;11;3;3;2;2;3;G1.61, G1.87a, G1.A1cb;G1.61;9160, 9110;9110;3
1;12;3;3;3;2;3;G1.87a, G1.61;G1.61;9110;9110;3
1;13;4;3;4;3;4;G1.61, G1.63a, G1.A1ca;G1.61;9130, 9110, 9160;9110;2
1;14;3;2;4;3;4;G1.61, G1.87a;G1.61;9110;9110;2
1;15;3;2;3;3;3;G1.87a, G1.61;G1.61;9110;9110;3
1;16;3;2;2;2;2;G1.87a, G1.61;G1.87a;;;4
1;17;4;3;1;1;1;;;;;4
I use Qt as IDE and here is my config file (.pro) which is used by qmake (instead of cmake)
TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt
TARGET = test
INCLUDEPATH += .
QT -= gui
QT += sql
CONFIG += c++17
LIBS = -lwthttp -lwt -lboost_system -lboost_iostreams -lboost_filesystem -lboost_program_options -lwtdbo -lwtdbosqlite3 -lsqlite3
SOURCES += \
main.cpp
HEADERS += \
header.h
---------------------------------------
a few additionnal info:
g++ --version
g++ (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
ldd test
linux-vdso.so.1 (0x00007ffda9bf0000)
libwtdbo.so.4.10.2 => /usr/local/lib/libwtdbo.so.4.10.2 (0x00007f52f35ad000)
libwtdbosqlite3.so.4.10.2 => /usr/local/lib/libwtdbosqlite3.so.4.10.2 (0x00007f52f34c3000)
libsqlite3.so.0 => /lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f52f339a000)
libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f52f31b8000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f52f319d000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f52f2fab000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f52f2fa3000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f52f2f80000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f52f2e31000)
/lib64/ld-linux-x86-64.so.2 (0x00007f52f3679000)
and eventually... the output of the code in the terminal:
Hello World!
caracteristiqueCS id: 1
caracteristiqueCS id: 2
caracteristiqueCS id: 3
caracteristiqueCS id: 4
caracteristiqueCS id: 5
caracteristiqueCS id: 6
caracteristiqueCS id: 7
caracteristiqueCS id: 8
caracteristiqueCS id: 9
caracteristiqueCS id: 10
caracteristiqueCS id: 11
caracteristiqueCS id: 12
caracteristiqueCS id: 13
caracteristiqueCS id: 14
caracteristiqueCS id: 15
caracteristiqueCS id: 16
caracteristiqueCS id: 17
second iteration with collection
collection size 17
caracteristiqueCS id: 1
caracteristiqueCS id: 1
caracteristiqueCS id: 1
caracteristiqueCS id: 1
caracteristiqueCS id: 1
caracteristiqueCS id: 1
caracteristiqueCS id: 1
caracteristiqueCS id: 1
caracteristiqueCS id: 1
caracteristiqueCS id: 1
caracteristiqueCS id: 1
caracteristiqueCS id: 1
caracteristiqueCS id: 1
caracteristiqueCS id: 1
caracteristiqueCS id: 1
caracteristiqueCS id: 1
caracteristiqueCS id: 1
a last run
caracteristiqueCS id: 1
caracteristiqueCS id: 1
caracteristiqueCS id: 1
caracteristiqueCS id: 1
caracteristiqueCS id: 1
caracteristiqueCS id: 1
caracteristiqueCS id: 1
caracteristiqueCS id: 1
caracteristiqueCS id: 1
caracteristiqueCS id: 1
caracteristiqueCS id: 1
caracteristiqueCS id: 1
caracteristiqueCS id: 1
caracteristiqueCS id: 1
caracteristiqueCS id: 1
caracteristiqueCS id: 1
caracteristiqueCS id: 1
Thank you in advance for your help, it is much appreciated!
Jo
RE: The dbo::collection iterator does retuns the same value on interation, please let me know how fix it. - Added by Jonathan lisein over 1 year ago
And the archive with all needed files;
dboCollectionTest.zip (6.07 KB) dboCollectionTest.zip |
RE: The dbo::collection iterator does retuns the same value on interation, please let me know how fix it. - Added by Jonathan lisein over 1 year ago
I am still having trouble with DBO collection, so any advice would be greatly appreciated.
Jonathan