Hiển thị kết quả từ 1 đến 3 / 3
  1. #1
    Tham gia
    09-04-2010
    Bài viết
    8
    Like
    0
    Thanked 0 Times in 0 Posts

    Dữ liệu dạng int và datetime sẽ nhận null khi textbox để trống

    Em đang làm bt lớn và gặp phải 1 vấn đề sau! Em nhập dữ liệu dạng số và ngày tháng cho database qua textbox. Khi nhập đầy đủ dữ liệu cho 2 kiểu này thì chương trình chạy bình thường nhưng khi để trống textbox thì database không thể nhận giá trị null mà báo lỗi các các huynh có cách nào giải quyết vấn đề này không khi em muốn bảng nhận giá trị null khi không nhập 2 giá trị này!
    Thanks các huynh nhiều!...
    Đây là code của em
    Insert Into ThanhVien Values(" + "N'" +
    Convert.ToInt16(this.txtSoAnhEm.Text) + "','" +
    Convert.ToInt16(this.txtSoConCai.Text) + "','" +
    Convert.ToDateTime(this.txtNgaySinh.Text) + "')")
    Quote Quote

  2. #2
    Tham gia
    15-03-2010
    Bài viết
    1,562
    Like
    84
    Thanked 1,571 Times in 860 Posts
    string txt1 = (textBoxA.Text == "")? "NULL" : "N'" + textBoxA.Text + "'";

    txt1 sẽ có dạng như sau:
    NULL : nếu textbox trống
    N'mytext' : nếu textbox chứa mytext

  3. #3
    Tham gia
    09-02-2011
    Bài viết
    403
    Like
    3
    Thanked 0 Times in 0 Posts
    Quote Được gửi bởi hoangmanhtung23 View Post
    Em đang làm bt lớn và gặp phải 1 vấn đề sau! Em nhập dữ liệu dạng số và ngày tháng cho database qua textbox. Khi nhập đầy đủ dữ liệu cho 2 kiểu này thì chương trình chạy bình thường nhưng khi để trống textbox thì database không thể nhận giá trị null mà báo lỗi các các huynh có cách nào giải quyết vấn đề này không khi em muốn bảng nhận giá trị null khi không nhập 2 giá trị này!
    Thanks các huynh nhiều!...
    Đây là code của em
    Insert Into ThanhVien Values(" + "N'" +
    Convert.ToInt16(this.txtSoAnhEm.Text) + "','" +
    Convert.ToInt16(this.txtSoConCai.Text) + "','" +
    Convert.ToDateTime(this.txtNgaySinh.Text) + "')")
    Nhìn code của bạn mình đoán lỗi không phải là do db không cho nhập giá trị null mà lỗi do convert txtSoAnhEm.Text thành kiểu Int16. Bạn nên dùng hàm String.IsNullOrEmpty để kiểm tra giá trị textbox trước khi convert.

    Default của sql server là cho nhập null, nếu bạn muốn set null có thể dùng SQL Server Management Studio để cho phép 2 trường này nhận giá trị null

Bookmarks

Quy định

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