Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 11 kết quả

Đề tài: Truy vấn CSDL với thuộc tính kiểu DateTime

  1. #1
    Ngày gia nhập
    12 2011
    Bài viết
    0

    Mặc định Truy vấn CSDL với thuộc tính kiểu DateTime

    Chào mọi người, em có 1 bài đồ án liên quan đến việc truy vấn vào trường có thuộc tính thời gian trong CSDL Access, cụ thể như sau :

    Hàm này trả về danh sách các sản phẩm còn hạn sử dụng trong bảng SANPHAM ở dạng DataTable cho datagridview hiển thị.
    Nhưng khi xử lý so sánh với giá trị HSD (hạn sử dụng) có kiểu Date/Time (Trong access) thì em luôn không nhận được kết quả (Vẫn hiện các trường nhưng không có row nào trong datagrid) dù em dùng khá nhiểu câu truy vấn khác nhau.
    Đơn cử là :

    public DataTable GetDS(DateTime d)
    { connect();

    string m = d.ToShortDateString();

    string query = "SELECT * FROM SANPHAM WHERE HSD < # " + m + " # ";
    // string query = "SELECT * FROM SANPHAM WHERE HSD < # " + d + " # ";
    adapter = new OleDbDataAdapter(query, connection);
    DataSet dataset = new DataSet();
    adapter.Fill(dataset);


    DataTable dt = dataset.Tables[0];

    return dt;

    }

    DateTime d em truyền vào d = DateTime.Now

    Xin mọi người cho em ý kiến giúp đỡ.
    Cám ơn mọi người

  2. #2
    Ngày gia nhập
    04 2010
    Bài viết
    1,537

    Căn bản, căn bản, căn bản !!!! Cái này ai viết sql string đều phải biết cách tìm lỗi

    - Dùng debug kiểm soát xem trị của string query ra sao
    - cóp bi nguyên chuỗi đó
    - Vào IDE của CSDL (Access?)
    - Dán lại nguyên câu lệnh sql trên và chạy thử

    Lúc đó Access sẽ cho biết lỗi ra sao.

    Nếu vẫn chưa giải quyết được:
    Cóp bi nguyên câu SQL sdtring và câu lỗi lên đây mà hỏi.

  3. #3
    Ngày gia nhập
    12 2011
    Bài viết
    0

    Mặc định Reply

    Cám ơn anh, em đã thử như theo anh nói như trên và kết quả truy vấn trong access ra chính xác với kết quả mong muốn :( Nhưng khi trả về và đem cho datagridview hiển thị thì lại không cho ra kết quả nào.


    String sql vào lúc đó của em = " SELECT * FROM SANPHAM WHERE HSD < #31/12/2011# "

  4. #4
    Ngày gia nhập
    04 2010
    Bài viết
    1,537

    Một khi chắc chắn câu sql string khong bị vấnddef rồi thì bạn qua mức thử kế tiếp:

    - trước khi return dt, đặt một biến int tst = dt.rows.count
    - dùng debug xem nó trả về đúng số rows hay không.

    Nếu đúng thì xét lại cách bind datasource vào gridview

  5. #5
    Ngày gia nhập
    12 2010
    Bài viết
    683

    Xem lại cách định dạng của bạn...nếu trong access đúng mà trên form ko đúng thì chính là lỗi format!

    mình đã gặp trường hợp này...mò mãi!

  6. #6
    Ngày gia nhập
    12 2011
    Bài viết
    0

    Mặc định Cám ơn

    À, cám ơn mọi người. Nhờ mọi người mà hiện tại em đã khắc phục được lỗi truy vấn đó rồi
    Tiện đây em cũng muốn hỏi một vấn đề liên quan khác nữa.


    Em dùng add new items để thêm 1 file txt dùng chứa dữ liệu vào project của mình thì làm sao lấy đường dẫn của nó để sử dụng trong các trường hợp cần ví dụ như là các hàm đọc-ghi file text ạ ?
    Nếu lấy đường dẫn cố định paste vào thì khi qua máy khác chạy project không lấy được dữ liệu.
    Vậy có hàm nào trả về đường dẫn của mấy items (như file txt) đó ko ? Hoặc có cách ghi chuỗi như thế nào để luôn đúng là file txt trong project của em không ?

    Cám ơn

  7. #7
    Ngày gia nhập
    04 2010
    Nơi ở
    Hà Nội
    Bài viết
    138

    Bạn dùng control FileUpload rồi lấy đường dẫn của control đó là được mà
    Thế giới thật rộng lớn

  8. #8
    Ngày gia nhập
    12 2010
    Bài viết
    683

    Xem cái Application.Statupath....tức là app của bạn so với file text đó!...

    ex: string path = Application.Statupath + @".\foldertest\text.txt";

    qua máy nào mà nó ko nhận ra chứ!

    đơn giản thôi mà...

  9. #9
    Ngày gia nhập
    12 2011
    Bài viết
    0

    Application.StarupPath nếu vẫn đang ở dạng build project là nó tương đương với đường dẫn tới thư mục debug hả bạn ?

  10. #10
    Ngày gia nhập
    08 2011
    Nơi ở
    Yên Bái-Thái Nguyên
    Bài viết
    960

    oh. Bạn thử luôn sẽ thấy mà. Bên cạnh đó dùng Path.GetFullPath(".ten file") cũng được.
    Skype: mrfour.it - Yahoo:mrfour_it
    Gmail: mrfour.it@gmail.com
    Bạn muốn học lập trình? Bạn chưa có kiến thức cơ bản? Bạn muốn học từ cơ bản tới nâng cao?... Bạn muốn có source code để tham khảo? Muốn có người hỗ trợ khi học?....http://www.laptrinh123.com sẽ giúp bạn những điều đó!

Các đề tài tương tự

  1. Database Cách Truy vấn datetime trong C#
    Gửi bởi vodoi_93 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 9
    Bài viết cuối: 30-12-2013, 06:56 PM
  2. Định dạng datetime cho csdl
    Gửi bởi pvtam2a trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 5
    Bài viết cuối: 12-05-2011, 12:09 PM
  3. Một câu truy vấn có thể truy vấn cả CSDL Access và DBase trong C# ko?
    Gửi bởi thuchobiet trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 24-11-2010, 08:25 AM
  4. Truy vấn datetime trong sql 2005
    Gửi bởi 8xhamhoc trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 5
    Bài viết cuối: 24-07-2010, 10:44 AM
  5. datetime trong csdl va datetime trong datagridview
    Gửi bởi thaivinhledang trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 4
    Bài viết cuối: 01-06-2010, 09:50 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn