二进制数据如何保存到表中?

SamSmith2004 2005-09-28 04:27:01
大家好
我需要把变量buf[200]的二进制数据保存到表中的一个字段,请问各位如何实现?最好用存储过程来实现。大家帮帮忙
...全文
242 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
SamSmith2004 2005-09-29
  • 打赏
  • 举报
回复
谢谢大家的回复
libin_ftsafe(子陌红尘) ,你的代码在MS SQL的查询分析器里面是可以,但我要在程序中实现,就是在程序中如何调用你给出的存储过程?如何把二进制缓冲的数据传给该存储过程呢?我通过给COMMAND对象添加参数来实现,但不知道如何传递二进制数据。代码如下:
_ParameterPtr pParamEmail;
pParamEmail.CreateInstance("ADODB.Parameter");
pParamEmail->Name="@Email";
pParamEmail->Type=adBinary;
pParamEmail->Size=msglen;
pParamEmail->Direction=adParamInput;
pParamEmail->Value=_variant_t(msg);
cmd->Parameters->Append(pParamEmail);

只要能实现,无论什么方法都行,大家帮我出出主意,最好能给出点代码和详细思路,
SamSmith2004 2005-09-29
  • 打赏
  • 举报
回复
谢谢大家的回复
libin_ftsafe(子陌红尘) ,你的代码在MS SQL的查询
MorningTea 2005-09-28
  • 打赏
  • 举报
回复
学习
vivianfdlpw 2005-09-28
  • 打赏
  • 举报
回复
varbinary最多只能8000字节,如果你要保存的二进制数据超过了8000字节,需要用text/ntext/image数据类型,存取这些数据参看我贴的三篇文章
子陌红尘 2005-09-28
  • 打赏
  • 举报
回复
--创建表
create table t(b varbinary(4000))
go

--创建存储过程
create procedure sp_savaBinary(@binary varbinary(4000))
as
insert into t values(@binary)
go

--调用存储过程插入数据
declare @b varbinary(4000)
set @b = cast('12sfasfasfasf' as varbinary(4000))
exec sp_savaBinary @b

--查看执行结果
select * from t
/*
b
----------------------------
0x31327366617366617366617366
*/


--删除测试数据
drop procedure sp_savaBinary
drop table t
子陌红尘 2005-09-28
  • 打赏
  • 举报
回复
create table t(b varbinary(4000))
go

create procedure sp_savaBinary(@binary varbinary(4000))
as
insert into t values(@binary)
go

declare @b varbinary(4000)
set @b = cast('12sfasfasfasf' as varbinary(4000))

exec sp_savaBinary @b

select * from t


drop procedure sp_savaBinary
drop table t
vivianfdlpw 2005-09-28
  • 打赏
  • 举报
回复
How To Access and Modify SQL Server BLOB Data by Using the ADO Stream Object
http://support.microsoft.com/?kbid=258038


How To Read and Write BLOB Data by Using ADO.NET with Visual Basic .NET
http://support.microsoft.com/kb/308042/EN-US/

How to pass array of values into SQL Server stored procedure using XML and Visual Basic .NET
http://support.microsoft.com/default.aspx?scid=kb;en-us;555266
wgsasd311 2005-09-28
  • 打赏
  • 举报
回复
在编程语言里很容易实现,通过赋值。

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧