<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">I am using  FPC v. 3.2.0 on both linux and windows.</div><div dir="ltr"><br></div><div dir="ltr">I use Firebird as a database (not sure that this is important).</div><div dir="ltr"><br></div><div>Say you write</div><div><br></div><div>var</div><div>   AConnection:TIBConnection;</div><div>   AQuery:TSQLQuery;</div><div>   ATran:TSQLTransaction;</div><div>begin</div><div><br></div><div>// create the components...</div><div>// open a database...</div><div>// prepare a first query...</div><div></div><div>   ATran.SQLConnection := AConnection;</div><div>   AQuery.SQLConnection := AConnection;</div><div>   AQuery.Transaction := ATran;</div><div>   AQuery.SQL.Text:=<br></div><div>   ' select 1                             '+</div><div>   ' from tb_dpt                          '+</div><div>   ' where cod_dpt=:deviceId               ';</div><div>// assign parameters...</div><div><div>      AQuery.Open;</div></div><div><div>// this query returns 1  </div><div></div></div><div>// ...</div><div>// other code here...</div><div>// ...</div><div>// start a new query</div><div><br></div><div><div>   AQuery.SQL.Text:=</div><div>   ' select id_log                        '+</div><div>   ' from InsertIntoA_LOG(                '+</div><div>   ' :ACTION                       ,        '+</div><div>   ' :USERNAME                   ,        '+  </div><div>   ' :MAC                        ,        '+</div><div>   ' :ATEXT)                               ';</div></div><div><div>// prepare the query...</div><div>// assign parameters...</div><div>      AQuery.Open;</div><div><div></div></div></div><div><div><div>// a GUID is expected here as a result. </div><div><br></div><div>Instead, the query returns 1!     GULP! <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<</div><div>  </div><div></div></div><div></div></div><div>The query uses the old SQL! No error is raised when I assign the new parameters!</div><div><br></div><div>In order to get the expected results, I have to explicitly close the query before re-assigning  AQuery.SQL.Text .</div><div><br></div><div>I am sure that this did not happen in Delphi. </div><div><br></div><div>The compiler should forbid the query to be reassigned when open, or it should authomatically close it then reassign it</div><div><br></div><div>Or at least an error should be raised when I try to assign say parameter :ACTION is the 2nd query...</div><div><br></div><div>Not sure about the right path to take, but this behaviour brought me alread a lot of hair-pulling :)</div><div><br></div><div>Peppe Polpo</div><div><br></div><div>  </div><div></div><div><br></div><div><br></div></div></div></div></div></div></div></div></div></div></div></div>