2013-08-02 35 views
5

Xin chào, tôi gặp sự cố khi truy lục datetime từ cơ sở dữ liệu SQLite bằng cách sử dụng thư viện sqlite-net. Db cột là loại NGÀY, ngày ví dụ như trong một hồ sơ là: 2013-08-02Truy xuất datetime-sqlite-net

Tôi có một mô hình:

internal class FCost 
{ 
    [PrimaryKey, AutoIncrement] 
    public int Id { get; set; } 

    ... 

    public DateTime AccountingDate { get; set; } 

    ... 
} 

tôi thực hiện dòng mã này:

var result = dc.Table<FCost>().ToArray(); 

Mọi trường ngoại trừ AccountingDate được điền chính xác, tất cả các trường DateTime được lấp đầy với giá trị: {1/1/0001 12:00:00 AM} (chế độ xem trình xem sơ đồ phòng thu trực quan). Tại sao ngày không được phân tích cú pháp chính xác? Tôi đã thử chuyển đổi loại cột Db thành DATETIME và TEXT nhưng có cùng kết quả.

EDIT. Đối tượng được sử dụng ở trên là loại SQLiteConnection từ thư viện sqlite-net.

+0

Tôi đã nhập giá trị vào cột AccountingDate theo cách thủ công thông qua SQLite Expert Professional (có một trình đếm ngày tháng) –

Trả lời

0

Thay vì DATETIME, USE Kiểu dữ liệu là Ngày đến NGÀY HÀNG KHÔNG CÓ THỜI GIAN.

Tham khảo this.link http://www.tutorialspoint.com/sqlite/sqlite_data_types.htm

Tôi hy vọng nó sẽ giúp bạn.

+0

Tôi đã chỉ ra trong câu hỏi của tôi rằng cột Db (bên cơ sở dữ liệu SQLite) thuộc loại DATE. DateTime là loại .net tôi sử dụng trong mô hình của mình. Ngoài ra, tôi đã thử lưu trữ ngày trong cơ sở dữ liệu trong một trường kiểu DATETIME và TEXT, nhưng như đã nêu trong câu hỏi của tôi, kết quả là như nhau. –

1

Có thuộc tính StoreDateTimeAsTicks trên đối tượng SQLiteConnection mà bạn nên sử dụng. Đặt nó thành 'false'. Đã làm cho tôi.

+0

Phải được chấp nhận. Đối số được gửi trên contructor và Date được điền –