Tôi đang cố thực hiện lệnh chèn vào cơ sở dữ liệu và một trong các cột thuộc loại nvarchar (MAX). Lệnh chèn được tạo bằng cách sử dụng lớp .NET SqlCommand và mỗi tham số được biểu diễn bởi một đối tượng SqlParameter.Sử dụng các chuỗi rất dài (10000 ký tự) làm giá trị SqlParameter
Lệnh của tôi được thực hiện luôn, nhưng khi tôi vượt qua chuỗi có độ dài lớn (10000 ký tự) và được sử dụng làm giá trị cho SqlParameter ánh xạ tới cột loại nvarchar (MAX) sau khi chèn, cụ thể cột để trống. Tôi lặp lại, không có ngoại lệ được ném, lệnh INSERT được thực thi, nhưng cột trống.
ví dụ Sau đây là làm thế nào tôi đã cố gắng để tạo ra tham số:
// message is the large string variable
// first solution
insertCommand.Parameters.Add("@message", SqlDbType.NVarChar, -1);
// second solution
insertCommand.Parameters.Add("@message", SqlDbType.NVarChar, message.Length);
// third solution
insertCommand.Parameters.Add("@message", SqlDbType.NVarChar, message.Length * 2);
Không ai trong số những giải pháp đã đưa ra kết quả. Nếu có ai biết vấn đề là gì, xin hãy cho tôi biết.
Tôi đang sử dụng MS SQL Server 2008.
Xin cảm ơn trước.
Bạn có đặt giá trị không? Tất cả những gì tôi thấy là bạn tạo một tham số, nhưng không có giá trị nào được gán. –