我正在为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;
目前无法存储文件系统。
答案 0 :(得分:0)
关于错误本身,此行存在问题
cmd.Parameters.AddWithValue("@signature", ms.ToArray());
您需要将图像转换为MemoryStream对象。
请查看以下网站以帮助您。
Store an image in a SQL Server CE database
此致