varbinary(max)捕获并存储OLE映像

时间:2014-08-28 04:57:37

标签: sql-server image ms-access ole varbinarymax

我支持具有SQL Server后端和Access前端的应用程序。签名图像存储在SQL Server(Users表)的表中的varbinary(max)列中。此字段中的值显示在各种Access报告中 系统会定期将新用户添加到系统中。我没有成功找到以编程方式执行此任务的方法。无论我如何将图像加载到SQL中的字段中,它都不会显示在Access报告中。我必须执行以下步骤才能正确加载图像并正确显示:
1.打开文件 2.将签名复制到剪贴板 3.打开Word 4.将签名粘贴到Word中 5.将签名从Word复制到剪贴板 6.打开Access。打开链接的用户表 7.粘贴到OLE签名字段中 8.更新记录。
我怀疑魔法是在从Word到剪贴板的图像副本中,它以某种方式创建了某种复制到剪贴板的OLE对象,然后可以通过Access粘贴到varbinary(max)字段中。
任何人都可以了解如何以编程方式(C#,Access或?)将图像加载到一个varbinary(max)字段,Access可以显示为图像?我想创建一个最终用户可以用来上传签名图像的应用程序。

1 个答案:

答案 0 :(得分:0)

How do I display an image from Sql Server with Microsoft Access?

当OLE字段绑定到“绑定的OLE控件”时。在一个窗体中,文件被粘贴到控件中,该文件存储在二进制访问特定的OLE包装器中。 控件在显示文件/图像时也需要包装器,但如果文件是用代码保存到表中而不是粘贴,则包装器不在那里。

使用未绑定的控件会绕过问题,因为这些控件不需要OLE包装器。