我有一個帶有dbgrid和sqlquery組件的窗體。我正在嘗試用sqlquery填充dbgrid。當我收到消息時,「單向數據集不允許操作」。我不想使用客戶端數據集,因爲我不想使用「本地」數據副本,我想直接讀取和顯示數據。如何才能做到這一點?沒有客戶端數據集的dbgrid
2
A
回答
10
documentation的明確指出(強調):
TSQLQuery是單向數據集。與其他數據集不同,單向數據集不會緩存內存中的多個記錄。因此,您只能使用第一個和下一個方法進行導航。沒有內置編輯支持:您只能通過顯式創建SQL UPDATE命令或通過使用提供程序將數據集連接到客戶端數據集來編輯SQL查詢中的數據。
因爲沒有多條記錄的緩衝,你不能在任何方向上,除了向前發展,這意味着DBGrid
不能顯示多行或支持滾動。
(事實上,所有的DBExpress
組分是單向的,根據上Types of DBExpress DataSets的文檔。)
你必須要麼使用一個TClientDataSet
或改變從使用DBExpress
到訪問數據的其它一些方法例如ADO
,或者使用TDBGrid
以外的內容(如TStringGrid
)顯示數據並實現您自己的內部存儲。但是,TClientDataSet
不一定是磁盤文件,如果您檢索的數據量在內存中可管理;所有數據都可以保留在那裏,而不是「本地副本」(「內存數據集」)。
相關問題
- 1. Android客戶端/服務器,客戶端沒有收到所有數據
- 2. 沒有客戶端的stunnel
- 3. 有沒有VPAID客戶端?
- 4. WCF服務客戶端與svcutil(沒有「額外」客戶端數據類型def。)
- 5. 用於數據庫交互的客戶端UI。有沒有lib?
- 6. 從沒有.NET客戶端
- 7. Backbone.js沒有客戶端JavaScript
- 8. 所有客戶端的同步數據
- 9. 在沒有客戶端Javascript的Jade中的數據綁定
- 10. PHP的fsockopen客戶端沒有收到發送的數據
- 11. 有沒有Cassandra的Objective-C客戶端?
- 12. 有沒有JavaScript的SSH客戶端?
- 13. Go中的UDP服務器/客戶端沒有讀取數據
- 14. 合併模板和客戶端的XML數據沒有編程
- 15. Java服務器沒有收到來自客戶端的數據
- 16. permission_denied at /:客戶端沒有訪問所需數據的權限
- 17. 服務器沒有得到來自客戶端的數據 - JAVA
- 18. 沒有客戶端的在線數據挖掘oauth
- 19. Erlang:gen_tcp:recv()沒有收到客戶端發來的數據包?
- 20. 沒有上下文菜單集成的SVN客戶端?
- 21. 驗證客戶端始終發送相同的數據,沒有用戶帳戶
- 22. 客戶端數據維護
- 23. 客戶端數據存儲
- 24. Oracle數據庫客戶端
- 25. 提取數據客戶端
- 26. TCP客戶端數據
- 27. Asp.net mvc客戶端數據?
- 28. Jest客戶端從ElasticSearch Suggestor 5.1,Play Framework沒有收到數據
- 29. 流星JS:客戶端沒有從Mongo DB獲取數據
- 30. MVC5 - 數據註釋 - 客戶端驗證沒有發生?