Tôi muốn đọc thông tin về bảng và cột trong ứng dụng C# .NET Windows. Tôi biết rằng có quyền truy cập cơ sở SMO cho SQL Server. Trên nền tảng tương tự thì có API nào cho SQLite không?Đọc thông tin bảng SQLite trong C# .NET
Trả lời
Bạn có thể sử dụng phương pháp GetSchema
:
DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.SQLite");
using (DbConnection connection = factory.CreateConnection())
{
connection.ConnectionString = @"Data Source=D:\tmp\test.db";
connection.Open();
DataTable tables = connection.GetSchema("Tables");
DataTable columns = connection.GetSchema("Columns");
tables.Dump();
columns.Dump();
}
GetSchema
trả về một DataTable có chứa thông tin về các bảng, cột, hoặc bất cứ điều gì bạn chỉ định. Hợp lệ GetSchema
lập luận cho SQLite bao gồm:
- MetaDataCollections
- DataSourceInformation
- kiểu dữ liệu
- ReservedWords
- Catalogs
- Cột
- Chỉ số
- IndexColumns
- Bàn
- Lần
- ViewColumns
- ForeignKeys
- Triggers
Theo [bài đăng stackoverflow này] [1], getSchema không hoạt động cho SQLite. Tôi đã có cùng một vấn đề và hiện đang sử dụng "SQLiteCommand (" PRAGMA table_info ('tracks') ", DB)" [1]: http://stackoverflow.com/questions/3268986/getting-table-schema- không-dường như-to-làm việc-với-hệ thống-dữ liệu-sqlite –
@ RU-Bn, tôi chỉ cố gắng một lần nữa, nó hoạt động tốt (ít nhất là với các nhà cung cấp System.Data.SQLite chính thức) –
Thx @Thomas nhưng tôi đoán nó cụ thể đối với một số cấu hình (cứng hoặc mềm) mà một số người trong chúng ta có. (Sử dụng nhà cung cấp phiên bản 1.0.65) Và tôi cũng đề cập đến nó như là một bước nhảy lùi/nhanh cho những người dùng tương lai có cùng vấn đề. (Không có discredit có nghĩa là ;-)) –
- 1. Parsing thông tin văn hóa trong .NET
- 2. Đọc Tin nhắn Protobuf trong C#
- 3. Đọc thông tin Dock OSX?
- 4. Đọc thông tin chứng chỉ pkcs12
- 5. Bao nhiêu thông tin tệp pdb chứa? (C#/.NET)
- 6. SQLite Tham gia trong Windows 8 Metro C# với sqlite-net
- 7. C# và đọc tập tin XML lớn
- 8. Đọc một tập tin * csproj trong C#
- 9. Đọc tập tin .strings trong Objective-C?
- 10. C# đọc bảng tính excel
- 11. Thông tin bảo mật liên tục trong .Net 4
- 12. đọc thông tin sử dụng ứng dụng
- 13. SqliteDataReader ở đâu trong sqlite-net?
- 14. Thông tin an toàn chứa trên iPhone SQLite DB
- 15. thông tin đăng nhập hardcode trong C# cho Trello api
- 16. Đọc một tập tin hình ảnh trong C/C++
- 17. Tôi có thể đọc thông tin AssemblyFile trong Inno Setup
- 18. .ttf kerning trong iOS: cách đọc thông tin sành điệu?
- 19. Thông thạo hơn C#/.NET
- 20. Tìm kiếm thông tin cơ bản về đọc tần số âm thanh trong C
- 21. Làm cách nào để đọc thông tin hệ thống trong C++?
- 22. Thông tin thêm về `({});` trong C?
- 23. So sánh hai bảng trong SQLite
- 24. Kết hợp hai bảng trong SQLite
- 25. JQuery TableSorter bảng rõ ràng thông tin
- 26. Có trình bao bọc .NET/C# cho SQLite không?
- 27. Lỗi ứng dụng .NET không có thông tin gỡ lỗi
- 28. SQLite thông qua Python
- 29. Visual C++ duyệt thông tin
- 30. .Net guy cần một số thông tin về Cocoa
Bạn đang tìm kiếm này? http://stackoverflow.com/questions/93654/is-there-a-net-c-wrapper-for-sqlite –
@ Martin Buberl, đó không phải là cùng một câu hỏi ... OP không tìm kiếm nhà cung cấp ADO.NET , anh ta hỏi làm thế nào để truy cập siêu dữ liệu cơ sở dữ liệu –