使用dbexpress连mysql数据库。使用sqlquery执行sql语句
with sqlquery do
begin
  close;
  sql.clear;
  sql.add('create temporary table if not exists tb_tmp(zd1 varchar(8))');
  execsql;
  close;
  sql.clear;
  sql.add('select * from tb_tmp');
  open;
  //执行到open语句时,出错,提示找不到tb_tmp表。请教各位.
end;

解决方案 »

  1.   

    临时表将在你连接MySQL期间存在。当你断开时,MySQL将自动删除表并释放所用的空间。当然你可以在仍然连接的时候删除表并释放空间。意思就是你所新建的一个临时表对其它用户来说是不可见的,
    也就是说如果你建了一个临时表, 然后关闭了连接,
    再进行连接后,对临时表操作是不可能成功的,
    不知你是不是遇到这个情况
      

  2.   

    我sqlquery.close算关闭连接吗?我理解应该不算。