Hi,
I've got a problem. I'm accessing the database from two separate connection,
one connection perform CREATE TABLE (DROP TABLE) statement and then the
second is performing 'SELECT name FROM sqlite_master WHERE type="table";',
this causes the SQLITE_SCHEMA (17) error, I've read the documentation, where
is written:
"When the database first opened, SQLite reads the database schema into
memory and uses that schema to parse new SQL statements. If another process
changes the schema, the command currently being processed will abort because
the virtual machine code generated assumed the old schema. This is the
return code for such cases. Retrying the command usually will clear the
problem."
I've retried the statement, I've retried it for 20 times with 0,1 sec delay
between each query but always with the same result:SQLITE_SCHEMA, what
should I do? reconnecting the database is the wors option I have, so I'm
looking for some else.
I paste the code here (it's in Delphi, but I hope it helps).

  repeat
    inc (cnt);
    AResult.Clear;
    ANames:=TStringList.Create;
    AValues:=TStringList.Create;
    res:=pssqlite_compile(ASQLite,ASQL,tail,pvsql,Err);
    if res=cSQLITE_OK then
    begin
      res:=pssqlite_step(pvsql,ANames,AValues);
      while res=cSQLITE_ROW do
      begin
        if ANames.Count=1 then AResult.Add(PSSQL2PasStr(AValues[0]));
        res:=pssqlite_step(pvsql,ANames,AValues);
      end;
    end;
    ANames.free;
    AValues.free;
    res2:=pssqlite_finalize(pvsql,Err);
    if res2=17 then sleep(100);
    OutputDebugString(pChar(Format('%d',[res2])));
  until (((res=cSQLITE_OK) or (res=cSQLITE_DONE)) and  (res2=0)) or
(cnt=20);


Brona


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to