Dear Christian,
Thanks again for your help.
Before I got your message, I did try working with shell.c but was not able
to get the code to work(I forget what errors I was getting but I believe the
compiler did not like sqlite3_bind_text)
BUT...
I was able to create a large table on the fly (i int, d double).
I inserted 1,000,000 records on a p4 and it took just 65 seconds!
The salient code is:
//**********************************
string prepare = "insert into small values(-1,-1);";
ans = sqlite3_prepare(lite3,prepare.c_str(),prepare.length(), &ppStmt,
&pzTail);
ans = sqlite3_step(ppStmt);
string insert = "insert into small values(";
for (int i = 0; i < 1000000-1; i++)
{
I = i;
D = i*.01;
char iC[10],
dC[10];
sprintf(iC, "%d", I);
sprintf(dC, "%lf", D);
string vals = insert
+ string(iC) + ","
+ string(dC) + ");";
ans = sqlite3_exec(lite3, vals.c_str(), tryCB, &pArg, &errMsg);
}
//**********************************
My only question is why does it work??
I understand that sqlite3_prepare prepares the sql statemen "prepare", but
why isn't vals.c_str() considered to be a new sql statement?
Thanks again,
-Marc