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

Đề tài: Update CSDL bị lỗi khi dung datetimepicker

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

    Mặc định Update CSDL bị lỗi khi dung datetimepicker


    - Vấn đề của mình là khi SỬA(Update) -> nếu mình nhập lại, hoặc sủa các thông tin thì không bị lỗi!. Nhưng nếu mình không sửa gì hết mà bấm nút lưu(gọi hàm update) thì nó báo lỗi như hình trên!!!

    Code:
    public bool suaSV(SinhVien sv)
            {
                if(kiemtraTruocKhiLuu(sv))
                {
                   
                    string sql = string.Format("UPDATE SinhVien SET TenSV=N'{0}',NgaySinh='{1}',DiaChi=N'{2}',GioiTinh='{3}',MaLop='{4}' WHERE MaSV='{5}'", sv.TenSV, sv.NgaySinh, sv.DiaChi, sv.GioiTinh, sv.MaLop, sv.MaSV);
                    if (connData.executeQuery(sql))
                    {
                        MessageBox.Show("Sửa thành công!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return true;
                        
                    }
                }
                return true;
            }
    Các bạn xem dùm mình có đúng không!

    vân đề 2:
    Code:
    // string sql = ("UPDATE SinhVien SET '" + sv.TenSV + "','" + sv.NgaySinh + "','" + sv.DiaChi + "','" + sv.GioiTinh + "','" + sv.MaLop + "' WHERE MaSV='" +sv.MaSV + "'");
    câu truy vấn của mình viết z có đúng k?

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

    Hôm rồi là Insert, giờ lại là Update hả bạn, bạn thử debug chưa
    Chia sẻ là học hỏi

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

    Trích dẫn Nguyên bản được gửi bởi t2t2t Xem bài viết

    - Vấn đề của mình là khi SỬA(Update) -> nếu mình nhập lại, hoặc sủa các thông tin thì không bị lỗi!. Nhưng nếu mình không sửa gì hết mà bấm nút lưu(gọi hàm update) thì nó báo lỗi như hình trên!!!

    Code:
    public bool suaSV(SinhVien sv)
            {
                if(kiemtraTruocKhiLuu(sv))
                {
                   
                    string sql = string.Format("UPDATE SinhVien SET TenSV=N'{0}',NgaySinh='{1}',DiaChi=N'{2}',GioiTinh='{3}',MaLop='{4}' WHERE MaSV='{5}'", sv.TenSV, sv.NgaySinh, sv.DiaChi, sv.GioiTinh, sv.MaLop, sv.MaSV);
                    if (connData.executeQuery(sql))
                    {
                        MessageBox.Show("Sửa thành công!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return true;
                        
                    }
                }
                return true;
            }
    Các bạn xem dùm mình có đúng không!

    vân đề 2:
    Code:
    // string sql = ("UPDATE SinhVien SET '" + sv.TenSV + "','" + sv.NgaySinh + "','" + sv.DiaChi + "','" + sv.GioiTinh + "','" + sv.MaLop + "' WHERE MaSV='" +sv.MaSV + "'");
    câu truy vấn của mình viết z có đúng k?
    Cái này hình như o đúng thì phải!!

    Code:
    // string sql = ("UPDATE SinhVien SET '" + sv.TenSV + "','" + sv.NgaySinh + "','" + sv.DiaChi + "','" + sv.GioiTinh + "','" + sv.MaLop + "' WHERE MaSV='" +sv.MaSV + "'");
    phải là:

    string sql = ("UPDATE sv SET '" + sv.TenSV + "','" + sv.NgaySinh + "','" + sv.DiaChi + "','" + sv.GioiTinh + "','" + sv.MaLop + "' WHERE MaSV='" +sv.MaSV + "'")

    Coi chừng ngay chỗ ngaysinh, ngaysinh mà bạn chơi chuỗi??? sau này sao truy vấn chính xác về ngày tháng dc???

    Không biết đúng ko nữa hehe
    Đã được chỉnh sửa lần cuối bởi cchangkhongayngo : 01-08-2011 lúc 03:05 PM.

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

    Mình thấy chỗ Ngày Sinh của bạn để định dạng: Ngày-tháng-năm nên khi insert vào CSDL (có định dạng yyyyMMdd) nên không được. Bạn phải converts sang định dạng: yyyyMMdd (bạn thử dùng cái này xem: sv.ngaysinh.ToString("yyyyMMdd"))

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

    Mặc định Kiểu dữ liệu của sv.NgaySinh

    vân đề 2:
    Code:
    // string sql = ("UPDATE SinhVien SET '" + sv.TenSV + "','" + sv.NgaySinh + "','" + sv.DiaChi + "','" + sv.GioiTinh + "','" + sv.MaLop + "' WHERE MaSV='" +sv.MaSV + "'");
    Mình cũng nghĩ kiểu dữ liệu của sv.NgaySinh trong CSDL có vấn đề. Bạn dùng kiểu datetime thử xem.

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

    Mặc định Update CSDL bị lỗi khi dung datetimepicker

    Bạn convert về dạng MM/dd/yyyy đảm bảo 100% Insert đc, với cả mình cũng đóng góp ý kiến riêng là bạn nên đổi sang dùng Stored Procedure đi. K nên viết truy vấn

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

  1. cách update ngay trên DataGridView xuống CSDL mà không cần nhấn nút Update
    Gửi bởi heoxinh trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 18
    Bài viết cuối: 21-07-2015, 03:13 PM
  2. Làm cách nào để lưu ngày tháng trong dateTimePicker xuống CSDL SLQ
    Gửi bởi longalone trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 16-11-2012, 10:15 AM
  3. lệnh update không báo lỗi nhưng không chép vào csdl
    Gửi bởi thuan trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 7
    Bài viết cuối: 02-10-2011, 11:47 AM
  4. update dữ liệu từ c# vào CSDL MS Access
    Gửi bởi jakamy trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 7
    Bài viết cuối: 24-06-2010, 09:37 AM
  5. lỗi khi update dữ liệu vào csdl access
    Gửi bởi phquoc25 trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 2
    Bài viết cuối: 18-03-2010, 04:42 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