adutzu89
19th June 2014, 14:05
I am trying to download all rows from a mysql table into sqlite using QNetworkAccessManager but it will not retrieve full data, more worse it retrieves random number of rows(134,135,220, 1409) but never full rows which in that tables are aprox. 4000;
Url setting:
void sinc::startNetworkRequest(){
QNetworkAccessManager *manager=new QNetworkAccessManager(this);
QNetworkRequest cerere;
QNetworkReply *rasp;
cerere.setUrl(QUrl("http://webserverurl.php?param1=01¶m2=01"));
rasp=manager->get(cerere);
connect(rasp,SIGNAL(readyRead()),this,SLOT(insertT oTable()));
connect(rasp,SIGNAL(error(QNetworkReply::NetworkEr ror)),this,SLOT(slotEroare(QNetworkReply::NetworkE rror)));
}
Data retrieving slot:
void sinc::insertToTable(){
QByteArray baRasp=rasp->readAll();
QString str(baRasp);
QStringList listaDet,listaElemR;
listaDet=str.split(";");
QSqlQuery curatare,adaug;
curatare.exec("delete from destTable");
for(int i=0; i<listaDet.size()-1; i++){
listaElemR=listaDet[i].split(",");
adaug.exec("insert into destTable values ("
"'"+listaElemR[0]+"'"
",'"+listaElemR[1]+"'"
",'"+listaElemR[2]+"'"
",'"+listaElemR[3]+"'"
",'"+listaElemR[4]+"'"
",'"+listaElemR[5]+"'"
",'"+listaElemR[6]+"'"
",'"+listaElemR[7]+"'"
",'"+listaElemR[8]+"'"
",'"+listaElemR[9]+"'"
",'"+listaElemR[10]+"'"
",'"+listaElemR[11]+"'"
",'"+listaElemR[12]+"'"
",'"+listaElemR[13]+"'"
",'"+listaElemR[14]+"'"
")");
}
}
If I want to retrieve the number of rows from the webserver( through echo mysqli_num_rows(result)) I get the full number rows, so it isn't mysql's,php's or webserver's fault.
Url setting:
void sinc::startNetworkRequest(){
QNetworkAccessManager *manager=new QNetworkAccessManager(this);
QNetworkRequest cerere;
QNetworkReply *rasp;
cerere.setUrl(QUrl("http://webserverurl.php?param1=01¶m2=01"));
rasp=manager->get(cerere);
connect(rasp,SIGNAL(readyRead()),this,SLOT(insertT oTable()));
connect(rasp,SIGNAL(error(QNetworkReply::NetworkEr ror)),this,SLOT(slotEroare(QNetworkReply::NetworkE rror)));
}
Data retrieving slot:
void sinc::insertToTable(){
QByteArray baRasp=rasp->readAll();
QString str(baRasp);
QStringList listaDet,listaElemR;
listaDet=str.split(";");
QSqlQuery curatare,adaug;
curatare.exec("delete from destTable");
for(int i=0; i<listaDet.size()-1; i++){
listaElemR=listaDet[i].split(",");
adaug.exec("insert into destTable values ("
"'"+listaElemR[0]+"'"
",'"+listaElemR[1]+"'"
",'"+listaElemR[2]+"'"
",'"+listaElemR[3]+"'"
",'"+listaElemR[4]+"'"
",'"+listaElemR[5]+"'"
",'"+listaElemR[6]+"'"
",'"+listaElemR[7]+"'"
",'"+listaElemR[8]+"'"
",'"+listaElemR[9]+"'"
",'"+listaElemR[10]+"'"
",'"+listaElemR[11]+"'"
",'"+listaElemR[12]+"'"
",'"+listaElemR[13]+"'"
",'"+listaElemR[14]+"'"
")");
}
}
If I want to retrieve the number of rows from the webserver( through echo mysqli_num_rows(result)) I get the full number rows, so it isn't mysql's,php's or webserver's fault.