Hello Alexander,

Why not use "?" then fill it in the the actual value later? Quoting
and having to actually look at values to make sure they were legal
gave me no end of problems now I:

     CMutexAutolock  Locker(DbLock);
     CDBAutoClose    Closer(&Db);
     CDBAutoCommit   Commit(&Db);

     hr = Db.Compile("INSERT OR IGNORE INTO GP_List1(GP_Name,GP_Count,GP_Date) 
VALUES (?,?,?);");

     Db.BindText(1,(*iLoop).first.c_str());
     Db.BindText(2,(*iLoop).second.c_str());
     Db.BindInteger(3,time(NULL));

     hr = Db.Step(nResults);
     if( FAILED(hr))
     {
           Db.FreeError();
           assert(0);
           break;
     }
     Db.ResetBindings();
     Db.Finish();

I yanked out a bunch of code but, I think you can figure out the
SQLite names for the functions from the wrapper names.

I never pass any kind of quoted values any more.

C
     
Tuesday, December 13, 2005, 5:27:13 PM, you wrote:

AK> Hi!

AK> If I use "some double-quoted stuff" in my query, this one can have
AK> two absolutely different meanings. Usually it is column name, but if I
AK> wrote this string with error, it silently converts into string
AK> literal.

AK> I think, this silent behaviour is not very good. If it happens
AK> inside deeply nested subquery or inside aggregate function
AK> (e.g. having count(distinct "cusotmer_id") = 1 ) the query still works,
AK> but produces incorrect result.

AK> IMHO, it is better if double quoted string always mean "column name",
AK> and single quoted string stand for 'literal value'



AK> Best regards,
AK>  Alexander                         
AK> mailto:[EMAIL PROTECTED]




-- 
Best regards,
 Teg                            mailto:[EMAIL PROTECTED]

Reply via email to