2013-01-16 30 views
23

Gần đây tôi đã điều tra câu hỏi này: Storing long values in DataGridView C#. Sau một số thử nghiệm, tôi phát hiện ra rằng DataGridViewCell sẽ không hiển thị bất kỳ văn bản nào có độ dài lớn hơn ký tự, ngay cả khi giá trị thực sự được lưu trữ trong ô và bạn có thể truy cập nó theo cách lập trình.Có 43679 số ma thuật không?

Thực ra, điều này cũng đã được báo cáo là lỗi cho SQL Server Management Studio: SSMS - Can not paste more than 43679 characters from a column in Grid Mode.

Tôi đoán rằng giới hạn này nhằm ngăn chặn bất kỳ quá tải nào trên hiển thị giao diện người dùng. Nhưng câu hỏi của tôi là:

  1. Tại sao giá trị chính xác này đang được sử dụng?
  2. Có tài liệu nào cho giới hạn này không?
+8

* chia cho ... không, nhân với .. có thể trong hex, căn bậc hai của .. mang theo 1, không ... ngày sinh nhật của ai đó * * * NO IDEA. ** – Rotem

+15

Giới hạn độc quyền cao hơn là ** 43680 **. Đó là ** 10920 * 4 **. Một lỗi về giới hạn 10919 được liên kết với Vista bởi Microsoft: [SSMS: Lưới sẽ không hiển thị> 10.919 ký tự từ VARBINARY (MAX)] (http://connect.microsoft.com/SQLServer/feedback/details/344117/ssms- lưới-sẽ-không-hiển thị-10-919-ký tự-từ-varbinary-max) –

+1

xem http://stackoverflow.com/questions/2759721/how-do-i-view-the-full-content-of- a-text-hoặc-varcharmax-column-in-sql-server-20 –

Trả lời

8

Nếu chuyển đổi 43679 thành hex thì đó là 0xAAA0. Hoặc ở dạng nghịch đảo 0xAAA0 = 0xFFFF - 0x555F.

0x555F là mã của ký hiệu Unicode Trung Quốc 'open; begin'. Có thể là tin nhắn Trung Quốc hoặc một số loại phép thuật Trung Quốc)

+3

lol, phép thuật của Trung Quốc .... –

Các vấn đề liên quan