Từ 1 tới 6 trên tổng số 6 kết quả

Đề tài: Ngày tháng năm năm ASP.NET (C#)

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

    Angry Ngày tháng năm năm ASP.NET (C#)

    Mình đang làm chức năng thống kê đơn đặt hàng theo ngày cho website bán sách bằng ASP.NET. Mình làm như sau:
    -Tạo 3 drowpdownList: ddlNgay, ddlThang, ddlNam và 1 nút btnThongKe.

    -Khi trang web load lên thì chọn ngày, tháng, năm cần thống kê từ 3 dropdownlist đó. Sau đó nhấn nút thống kê. Nếu có thì sẽ hiển thị đơn đặt hàng trong Gridview. Tuy nhiên nó báo lỗi và không thực hiện được!



    Code của mình như thế này (viết bằng mô hình 3 lớp):
    +Trang aspx:
    Code:
    protected void btnThongKe_Click(object sender, EventArgs e)
        {
            string strNgay = "";
            string strThang = "";
            string strNam = "";
    
            string strNgayDH="";
    
            strNgay = ddlNgay.SelectedItem.ToString();
            strThang = ddlThang.SelectedItem.ToString();
            strNam = ddlNam.SelectedItem.ToString();
    
            strNgayDH = strNgay + "/" + strThang + "/" + strNam;
            DateTime ngay = DateTime.Parse(strNgayDH);
            //DateTime ngay = DateTime.Parse(strNgayDH, new CultureInfo("en-US", true));
            vo.StrNgayDatHang = ngay.ToString("dd-MM-yyyy");
    
            ds = bus.ThongKeDDHBus(vo);
    
            if (ds.Tables[0].Rows.Count >= 1)
            {
                gdvDonDatHang.Visible = true;
                lblKQTK.Visible = true;
                lblThongBao.Text = "";
                gdvDonDatHang.DataSource = ds;
                gdvDonDatHang.DataBind();
            }
            else if (ds.Tables[0].Rows.Count == 0)
            {
                gdvDonDatHang.Visible = false;
                lblKQTK.Visible = false;
                lblThongBao.Text = "<span style='color:red'>" + "Không tìm thấy!" + "</span>";
            }
        }
    +Lớp Bussiness:
    Code:
    public DataSet ThongKeDDHBus(clsVo vo)
        {
            DataSet dts = new DataSet();
            dts = da.ThongKeDDHDa(vo);
    
            return dts;
        }
    +Lớp DataAccess:
    Code:
    public DataSet ThongKeDDHDa(clsVo vo)
        {
            DataSet ds = new DataSet();
            clsDa da = new clsDa();
            string strCauTruyVan;
            strCauTruyVan = "select SoHD,KhachHang,TriGia from DonDatHang where NgayDatHang='"+vo.StrNgayDatHang+"'";
    
            ds = da.TruyVanDuLieu(strCauTruyVan);
    
            return ds;
        }
    Mình nghi là kiểu dữ liệu ngày tháng có vấn đề. (Trong CSDL Access của mình định dạng ngày tháng dạng dd.MM/yyyy). Các bạn giúp mình với!!!
    Đã được chỉnh sửa lần cuối bởi vantiendkn : 19-10-2011 lúc 07:47 AM.

  2. #2
    Ngày gia nhập
    08 2011
    Nơi ở
    Yên Bái- Hà Nội
    Bài viết
    961

    Thế bạn để luôn kiẻu đó đi.
    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 đó!

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

    Mô hình 1 lớp, 3 lớp, hay 10 lớp gì thì khi gặp vấn đề, cách giải quyết đầu tiên là DEBUG

    * Đặt break ở câu này:
    ---> ds = da.TruyVanDuLieu(strCauTruyVan);
    * Khi đến đây, copy trị của strCauTruyVan
    * Mở Access ra, vào panel SQL
    * Paste câu vừa copied xuống
    * Chạy thử, chỉnh sửa chỗ sai cho đến chừng nào chạy được
    * Sửa câu này:
    ---> strCauTruyVan = "select SoHD,KhachHang,TriGia from DonDatHang where NgayDatHang='"+vo.StrNgayDatHang+"'";

    Viết câu lệnh bằng cách lập sqlStr thì việc đầu tiên là phải dùng Debug để xem cái chuỗi ấy cuối cùng ra sao. Gặp câu lệnh rắc rối thì phải chạy thử trước!

  4. #4
    Ngày gia nhập
    07 2011
    Bài viết
    36

    Theo mình bạn nên sử dụng control có cả luôn ngày tháng năm, đầu vào mình để là MM/dd/yyyy

  5. #5
    Ngày gia nhập
    04 2011
    Bài viết
    2

    Mặc định :d

    mình nghĩ bạn chỉ cần strNgay = ddlNgay.text.ToString();
    các cái khác tuơng tự
    kho hình anh dep và những hình anh hai huoc cùng nhiều hinh anh avatar với các avatar sock cực sock dành cho bạn trẻ

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

    Angry Ngày tháng năm năm ASP.NET (C#)

    hĩ!!:( vẫn chưa làm được nữa! cứ bị lỗi hoài:

    Code:
    Server Error in '/DO AN WEB_NEW' Application.
    --------------------------------------------------------------------------------
    
    Data type mismatch in criteria expression. 
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 
    
    Exception Details: System.Data.OleDb.OleDbException: Data type mismatch in criteria expression.
    
    Source Error: 
    
    
    Line 28:         OleDbDataAdapter d = new OleDbDataAdapter(strCauTruyVan, c);
    Line 29:         DataSet dtSet = new DataSet();
    Line 30:         d.Fill(dtSet);
    Line 31:         c.Close();
    Line 32:         return dtSet;
     
    
    Source File: j:\DO AN WEB_NEW\App_Code\clsDa.cs    Line: 30

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

  1. Kỹ thuật C Bài toán nhập số năm xuất tên năm âm lịch, cách làm thế nào?
    Gửi bởi hikaru2838 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 09-12-2012, 09:51 PM
  2. Máy Photocopy Ricoh 2018D thanh lý giá: 11,5 triệu_Bảo hành 1 năm _ bảo trì miễn phí 5 năm tận nơi sử dụng
    Gửi bởi thuongfoto01 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 1
    Bài viết cuối: 28-02-2012, 10:34 AM

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