SQL Server Compact Edition-字节数组截断长度为8000的异常

时间:2012-07-23 04:14:35

标签: c# windows-mobile sql-server-ce

我正在为Windows Mobile 6.5设备编程。

我正在使用SQL Server Compact Edition,我正在尝试将字节流写入数据库。 列类型是image(我理解它可以处理超过8000个字节),但是我得到了例外:

  

出现InvalidOperationException
  @signature:字节数组截断长度为8000。

知道为什么会这样吗?

string sql = @"INSERT INTO E_CONS_SIGNATURE (CONS_NO, SIGNATURE, SIGNATURE_FORMAT, SIGNATURE_DATE)"
            + " VALUES(@consNo, @signature, @format, @date)";

SqlCeCommand cmd = new SqlCeCommand(sql, conn);
cmd.Parameters.AddWithValue("@consNo", txtConsignment.Text);
cmd.Parameters.AddWithValue("@signature", ms.ToArray());
cmd.Parameters.AddWithValue("@format", "BMP");
cmd.Parameters.AddWithValue("@date", new DateTime());

bool success = cmd.ExecuteNonQuery() > 0;

目前无法存储文件系统。

1 个答案:

答案 0 :(得分:0)

关于错误本身,此行存在问题

cmd.Parameters.AddWithValue("@signature", ms.ToArray());

您需要将图像转换为MemoryStream对象。

请查看以下网站以帮助您。

Save images to SQL CE

Store an image in a SQL Server CE database

此致