Database problem

 

Hello guys,

this function is not inserting any values to database:

void db_test(void)
{

        uint flags=DATABASE_OPEN_READWRITE | DATABASE_OPEN_CREATE;
        int hndl=DatabaseOpen("testx.db", flags); 
        if(hndl != INVALID_HANDLE)
        {
                string  test_table="CREATE TABLE IF NOT EXISTS [test] ("                                        
                                                        "[id] INTEGER  UNIQUE NOT NULL PRIMARY KEY," // datetime
                                                        "[dval] FLOAT  NULL,"                                           // price
                                                        "[sval] VARCHAR(200))"  ;

                int ret =DatabaseExecute(hndl,test_table);
                if(ret == INVALID_HANDLE)
                        PrintFormat("#error %s_%s. sql=%s code=%d",__FILE__,__FUNCTION__,test_table,GetLastError());
                else
                {
                        int N=100;
                        for(int i=0;i < N;++i)
                        {
                                string comment=StringFormat("comment_%d",i);
                                string sql=StringFormat("INSERT INTO test (id,dval,sval) VALUES(%d,%.8f,%s)"
                                        ,i,(double) i*i,comment);
                                PrintFormat(sql);
                                ResetLastError();
                                if(DatabaseExecute(hndl,sql) == false)
                                {
					// getting error 5601 here. Not documented.
                                        PrintFormat("#error. code=%d",GetLastError());
                                        break;
                                }


                        }
                }
                DatabaseClose(hndl);
        }
}
 
        string sql=StringFormat("INSERT INTO test (id,dval,sval) VALUES(%d,%.8f,'%s');"
                                ,i,(double) i*i,comment);
 
Thank you very much.
Reason: