Hiển thị kết quả từ 1 đến 6 / 6
  1. #1
    Tham gia
    26-11-2003
    Location
    Toronto
    Bài viết
    152
    Like
    0
    Thanked 0 Times in 0 Posts

    lỗi insert vào table (regarding truncate)

    Câu lệnh sau dùng để insert new record vào 1 table thì gặp phải lỗi: "String or binary data would be truncated. The statement has been terminated".

    đây là câu lệnh (có kèm theo screenshot của table):

    "Insert into Members values('" & Trim(txtusername.Text) & "','" & EncodePassword(txtpassword.Text) & "','" & Trim(txtemail1.Text) & "','Scum','Alive',100,'2000',1,1,'" & myHomeTown & "',' ','" & ActNumber & "','" & Today.Date & "','noavatar.gif')"

    mong các bạn chỉ giúp cách khắc phục.
    Attached Images
    Được sửa bởi cuteboy_vn lúc 16:29 ngày 18-04-2004
    Quote Quote

  2. #2
    Tham gia
    13-06-2003
    Location
    TP. Hồ Chí Minh
    Bài viết
    423
    Like
    0
    Thanked 0 Times in 0 Posts

    Truncated dữ liệu

    Quote Được gửi bởi cuteboy_vn
    Câu lệnh sau dùng để insert new record vào 1 table thì gặp phải lỗi: "all string and binary data must be truncated".

    đây là câu lệnh (có kèm theo screenshot của table):

    "Insert into Members values('" & Trim(txtusername.Text) & "','" & EncodePassword(txtpassword.Text) & "','" & Trim(txtemail1.Text) & "','Scum','Alive',100,'2000',1,1,'" & myHomeTown & "',' ','" & ActNumber & "','" & Today.Date & "','noavatar.gif')"

    mong các bạn chỉ giúp cách khắc phục, mình tìm hoài không ra chỗ nào chưa được truncated???
    Theo cách viết của bạn, tôi đề nghị bạn 2 điều:
    Thứ nhất: chỗ JoinedDate bạn không nên truyền string cho nó bởi vì nó có kiểu datetime. Bạn nên dùng hàm CONVERT để chuyển sang dạng ngày.
    "Insert into Members values('" & Trim(txtusername.Text) & "','" & EncodePassword(txtpassword.Text) & "','" & Trim(txtemail1.Text) & "','Scum','Alive',100,'2000',1,1,'" & myHomeTown & "',' ','" & ActNumber & "',CONVERT(datetime," & Today.Date & ",101) ,'noavatar.gif')"
    Tham số 101 quy định dạng hiển thị ngày. Bạn có thể tham khảo thêm Help để lấy đúng tham số mình cần để phù hợp với dạng datetime trên server.

    Thứ hai: bạn hãy chọn lại kiểu varchar cho các field có kiểu char thử xem.

  3. #3
    Tham gia
    26-11-2003
    Location
    Toronto
    Bài viết
    152
    Like
    0
    Thanked 0 Times in 0 Posts
    OK, mình đã thử dùng Convert.ToDateTime(Today.Date) trong VB.Net rùi mà vẫn ko được.??? còn kiểu char đổi qua varchar cũng ko khắc phục được lỗi.

  4. #4
    Tham gia
    13-06-2003
    Location
    TP. Hồ Chí Minh
    Bài viết
    423
    Like
    0
    Thanked 0 Times in 0 Posts

    Nên dùng CONVERT của SQL

    Quote Được gửi bởi cuteboy_vn
    OK, mình đã thử dùng Convert.ToDateTime(Today.Date) trong VB.Net rùi mà vẫn ko được.??? còn kiểu char đổi qua varchar cũng ko khắc phục được lỗi.
    Bạn nên dùng hàm CONVERT của SQL để chuyển đổi trong store đừng dùng hàm Convert của VB.NET vì nó không làm thay đổi ý nghĩa trả về của chuỗi SQL mà bạn thiết lập. Do đó theo tôi nghĩ bạn nên thử lại lần nữa xem sao.

  5. #5
    Tham gia
    16-07-2002
    Location
    none
    Bài viết
    117
    Like
    0
    Thanked 0 Times in 0 Posts
    một trong những fields đó không đủ độ dài để chứa cái string add vô nên bị lỗi đó . Tăng các fields char lên nhiều một chút (ví dụ như HomeTown lên 50 ...).

  6. #6
    Tham gia
    13-06-2003
    Location
    TP. Hồ Chí Minh
    Bài viết
    423
    Like
    0
    Thanked 0 Times in 0 Posts
    Quote Được gửi bởi ptran
    một trong những fields đó không đủ độ dài để chứa cái string add vô nên bị lỗi đó . Tăng các fields char lên nhiều một chút (ví dụ như HomeTown lên 50 ...).
    Có lý! Bạn phát hiện đúng, mình quên cái dzụ này. Thank you.

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
  •