【问题标题】:SQL Server Compact Edition- byte array truncation to a length of 8000 exceptionSQL Server Compact Edition - 字节数组截断到长度为 8000 的异常
【发布时间】:2012-07-21 07:51:54
【问题描述】:

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

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

无效操作异常
@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;

目前无法选择存储在文件系统上。

【问题讨论】:

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


    【解决方案1】:

    就错误本身而言,这一行有问题

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

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

    查看以下网站以帮助您。

    Save images to SQL CE

    Store an image in a SQL Server CE database

    问候

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多