Tôi đang sử dụng bộ .NET 2003. Trong một VB project, tôi viết một chương trình sử dụng một datetime picker (name: dtpNgaysinh) cho người dùng nhập vào ngày sinh. Khi lưu xuống CSDL (tôi dùng Microsoft SQL 2000) tôi viết một command text như sau : insert into ......(.......... , ..........) values(.......,' "+dtpNgaysinh.value.toshortdatestring()+" '). Vấn đề ở đây là: format datetime trong control panel của tôi là dd/mm/yyyy. Hàm toshortdatestring thì chuyển về chuỗi datetime theo format của control panel là dd/mm/yyyy. Nhưng format datetime của SQL Server 2000 là mm/dd/yyyy cho nên khi lưu xuống thì bị lỗi. Cho hỏi có cách nào chỉnh format của hàm toshortdatestring thành mm/dd/yyyy mà không phải đổi lại format datetime của control panel không ? Cám ơn rất nhiều.
Cái này rắc rối quá , xem mà chả hiểu cái gì xất , ai hiểu thì giúp đỡ đi ! Những cái này mà đưa lên đây thì liệu có ai có lòng tốt đây ! Mình ko có kiến thức tí nào về basic cả
^^ cái này theo tui cũng đơn giản, lâu rùi ko viết VB.NET nên ko biết còn nhớ chính xác ko nhưng thui tui nói theo kiểu chung củ ngôn ngữ lập trình nhé : có 2 cách để giải quyết vấn đề của bạn - 1 là đừng dùng toshortdatestring() bạn hòan tòan có thể dùng phương pháp xử lí chuỗi chuyển kiểu date trên thanh strng theo ý mình rùi lưu xuống database trong field date như 1 string, sau đó khi cần dùng thì đổi lại = VB.Net => cách này đơn giản. - 2 trong SQL 2000 có op nào cho chỉnh lại cái format này ko? tìm thử xem níu ko có thì trong VB.NET thể nào cũng có cái hàm cho phép format lại cái date này thành kiểu mong muốn, có thể tham khảo = MSDN(rất tốt) => chúc thành công
Tôi đề nghị bạn nên dùng object SQLCommand thay vì truyền value vào theo cách + chuỗi thế kia. Việc này đỡ lo sqlinjection cũng như nhiều lỗi khác có thể không ngờ tới. Bạn chỉ việc tạo object datetime như bình thường sau đó gán vào parameter của SqlCommand rồi ExecuteNonQuery() là xong.