首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

从数据库中读取二进制文件。解决方法

2012-01-14 
从数据库中读取二进制文件。我现在要用一个SQL语句select docname,doc from tablename where idadf类似

从数据库中读取二进制文件。
我现在要用一个SQL语句select docname,doc from tablename where id='adf'类似这样的。
返回的是datatable,我现在需要将查询出来的文件插入另外一张表,用以下语句。
dasql = "insert into gs_Media (docname,doc) values (@p1,@p2)";
#region 添加照片信息导入参数
ArrayList param2 = new ArrayList();
param2.Add( new ParamInfo("@p1",dtPtSub.Rows[0][0].ToString()==""?"":dtPtSub.Rows[0][0].ToString()));
param2.Add( new ParamInfo("@p2",dtPtSub.Rows[0][1].ToString()));

但是目前的问题是,这里的doc在数据库中是image类型的,dtPtSub.Rows[0][1].ToString()这样取是会报错的。
我只是想将它取出来,赋给@p2这个变量。插入到gs_Media表中,不需要把这个二进制文件读出来。
高手帮忙看看噢。解决了就结贴。。


[解决办法]
没有必要使用ToString,且这里使用是错误的,直接使用如下:

param2.Add( new ParamInfo( "@p1 ",dtPtSub.Rows[0][0])); 
param2.Add( new ParamInfo( "@p2 ",dtPtSub.Rows[0][1]));
[解决办法]
byte[] b = (byte[])dtPtSub.Rows[0][0]
[解决办法]
然后
new SqlParameter("@P1",b)

热点排行