我的項目是在Visual Foxpro中,我使用MS SQL服務器2008年。當我批量地啓動SQL查詢時,一些查詢不執行。但是,不會引發錯誤。我還沒有使用過BEGIN TRAN和ROLLBACK。應該做什麼 ??批量SQL查詢不執行
0
A
回答
0
這一切都取決於...您沒有任何您的查詢樣本發佈給我們一個可能的失敗的跡象。但是,從VFP到SQL的一個很好的反應是構建成一個字符串(我更喜歡使用TEXT/ENDTEXT來進行可讀性),然後將整個值發送到SQL。如果本地VFP有任何基於「參數」的值,則可以使用「?」以表明它將來自一個變量到SQL。然後,你可以批量都在一個VS多個單獨的查詢......
vfpField = 28
vfpString = 'Smith'
text to lcSqlCmd noshow
select
YT.blah,
YT.blah2
into
#tempSqlResult
from
yourTable YT
where
YT.SomeKey = ?vfpField
select
ost.Xblah,
t.blah,
t.blah2
from
OtherSQLTable ost
join #tempSqlResult t
on ost.Xblah = t.blahKey;
drop table #tempSqlResult;
endtext
nHandle = sqlconnect("your connection string")
nAns = sqlexec(nHandle, lcSqlCmd, "LocalVFPCursorName")
不,我沒有在這裏捕捉錯誤,只是爲了顯示原理和可讀性。我知道示例查詢可以很容易地通過連接來完成,但是如果您正在使用某些預集合並希望將它們放入臨時工作區域,例如查詢中的本地化VFP遊標以用作下一步,則會通過#tempSqlResult工作,因爲「#」表示無論當前連接句柄是什麼,SQL上的臨時表。
如果要從單個SQL調用中返回多個RESULT SET,那麼也可以這樣做,只需添加另一個沒有「into #tmpSQLblah」上下文的查詢。然後,這些結果遊標的所有實例都將根據「LocalVFPCursorName」前綴被重新帶回VFP。如果要返回3個結果集,然後VFP將有3個遊標打開名爲
LocalVFPCursorName
LocalVFPCursorName1
LocalVFPCursorName2
,將基於SQLEXEC()調用查詢的序列。但如果您可以提供更多關於您想要做的事情和他們的樣品,我們也可以提供更具體的幫助。
相關問題
- 1. 不支持批量執行select查詢
- 2. 如何執行批量查詢?
- 3. 如何執行批量更新查詢
- 4. 如何在JDO中執行批量Google DataStore鍵查詢查詢
- 5. 執行SQL查詢
- 6. SQL查詢執行
- 7. Linq to SQL FirstOrDefault不執行SQL查詢
- 8. 批量運行rails查詢
- 9. 小巧的批量查詢而不是多次執行的單個查詢
- 10. 如何在Java Swing中檢查批量執行SQL查詢是否成功?
- 11. 批量查詢?
- 12. 在Jdbc中執行綁定變量執行的Sql查詢
- 13. 在sql server中執行批量更新
- 14. HSQLDB over JDBC:批量執行SQL語句
- 15. 在django中執行批量SQL插入
- 16. SQL SMO執行批量TSQL腳本
- 17. SQL查詢不會停止執行
- 18. python sqlalchemy不執行sql查詢
- 19. SQL查詢不執行correcly(其中)
- 20. LINQ的SQL查詢,如不執行
- 21. SQL查詢並置不執行
- 22. MySQL和MS SQL查詢執行不同
- 23. 在java中不執行SQL查詢
- 24. 將不會執行的SQL查詢
- 25. 爲什麼sql查詢不執行?
- 26. LINQ到SQL查詢不執行
- 27. SQL查詢執行不止一次?
- 28. 執行SQL查詢在PHP
- 29. 無法執行SQL查詢
- 30. 執行SQL查詢在CMD