I have a question about version 3.6.10. I downloaded the amalgamation source code and built a static library. I have included the static library in my Windows console application. I have noticed something very strange though. to execute my statement I use the prepare and then step not execute. If I run the following sql, I get no return data.
select a.column1, b.column2 from aTable a left join bTable b on a.id = b.aTable_id If I run the same sql statement through the command-line program downloaded from the site for 3.6.10, it returns the data with b.column2 being null. Which is what I expected. Below is my code // open database rc = sqlite3_open(szFile, &db); if( rc ){ fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db)); sqlite3_close(db); exit(1); } sqlite3_stmt *ppStmt = 0;; const char *zLeftover; //compile sql statement rc = sqlite3_prepare(db, szSQL, -1, &ppStmt, &zLeftover); //step through recordset int i = 0; int nCol = 0; char rowstr[256] = ""; const char *temp; //get column count nCol = sqlite3_column_count(ppStmt); //for each row while(sqlite3_step(ppStmt)==SQLITE_ROW){ //for each column for(int j=0;j<nCol;j++){ temp = (char *)sqlite3_column_text(ppStmt, j); strcat(rowstr, temp); strcat(rowstr, "|"); } cout << rowstr << endl; strcpy(rowstr, ""); i++; //increment row counter } //delete recordset rc = sqlite3_finalize(ppStmt); // close database sqlite3_close(db); cout << "finished" << endl; -- *Nathan Biggs* Computerway Food Systems System Controls Manager (336) 841-7289 /Work/ (336) 841-2594 /Fax/ nbi...@mycfs.com PO Box 5623 (27262) 635 Southwest Street High Point, NC 27260 _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users