我執行以下這段語句
Query1.sql.add('select distinct ....');
Query1.sql.add('INTO ##tmp1');
Query1.sql.add('From...');
Query1.sql.add('Left out join...');
Query1.sql.add('Where...');
Query1. ExecSQL;執行到Query1. ExecSQL時出現以下錯誤,請問這如何解決?
'OLE error 80040E31'
語法沒問題.以前可以用,只是偶爾會出現這種錯誤,但我最近修改了其他部分程序編譯後,就老出現這樣的問題了,請各位幫忙啊!!!(SQL Server數據庫)

解决方案 »

  1.   

    建议在Query1. ExecSQL;之前.showmessage(sql.text)看一下.sql语句有没有错.
      

  2.   

    Query1.sql.add('INTO ##tmp1');>>>>此处用一个#
      

  3.   

    謝謝各位答疑!我之前已用showmessage(sql.text)查看過語法,也輸出在查詢分析器中執行過.都沒有問題.關鍵以前還一直使用的.只是偶爾有這種情況.但現在是老這樣,不明白為什麼?
    另外
    Query1.sql.add('INTO ##tmp1');>>>>此处用一个#
    這地方一個#和兩個#,應該是一樣意思吧?
      

  4.   

    使用JOIN,条件词应该是“ON”而不是“WHERE”。
      

  5.   

    "on" 是有的,我省略了表名等等.不好意思,我是我沒說清楚.
    但我說了,語法是沒有問題的.我已分析過N次了,但這樣執行效果就不清楚了,是不是這樣用臨時表會觸發異常等是問題所在,是不是這樣不穩定.有沒有什麼好辦法能解決這種問題呀
      

  6.   

    謝謝zzllabc(转ERP中...) .我要的應該就是全局临时表,因為我創建後要在不同的事件中都用到它,只有在程序結束或觸發異常後才釋放它