[Qgis-developer] Re: Load SQLite table into QGIS

mmekuria sailmcm at yahoo.com
Fri Oct 14 14:56:07 EDT 2011


Thanks Martin for the info. Now how what are the parameters for the 
If I have a table named Trips and I want to add data to the three columns
i,j,v it contains. 
I set the datasource as like this? But I get error message when I try to
query the fields from the provider. 

	QgsDataSource uri;
	QgsDataSourceURI splUri = QgsDataSourceURI( uri );
        splUri.setDatabase(spliteDBName);
        splUri.setDataSource("","Trips", ""); // I set the schema and the
geometry to empty? 
	QgsVectorLayer* tripLayer = new QgsVectorLayer(splUri.uri(), "Trips",
"spatialite");
	QgsVectorDataProvider* triProv = tripLayer->dataProvider();
	QgsFeature tripFeat;
	QgsFeatureList tripFeats ;
	QgsAttributeMap tripAttMaps;
	QgsFieldMap tripFldsrc = triProv->fields();  ***************  Error at this
location!
	if (tripFldsrc.count()>0)
	{
		i=0;
		for (QgsFieldMap::iterator it = tripFldsrc.begin(); it !=
tripFldsrc.end();it++)
		{
			tripAttMaps.insert(i++,it->type());
		}

	}
	for (maptrit = maptrip.begin();maptrit != maptrip.end();maptrit++)
	{
		trip = maptrit->second;
		tripFeat.addAttribute(0,trip.get_i());
		tripFeat.addAttribute(1,trip.get_j());
		tripFeat.addAttribute(2,trip.get_v());
		tripFeats.append(tripFeat);
	}
	tripLayer->addFeatures(tripFeats);
	bool blnFeat = tripLayer->commitChanges();
	if (!blnFeat)
	{
		txtStream<<"Failed to commit to Layer
\t"<<tripLayer->name().toStdString()<<endl;
		return;
	}


I also wanted to know if it was possible to string the sql commands to
insert into the table.

Thank you,

Maaza


--
View this message in context: http://osgeo-org.1803224.n2.nabble.com/Load-SQLite-table-into-QGIS-tp6876536p6893672.html
Sent from the qgis-developer mailing list archive at Nabble.com.


More information about the Qgis-developer mailing list