sqlserver中image类型两个表进行传输,从一个表里的image字段传到另一个字段,急!!

smiletosky 2003-11-25 05:29:31
1、直接把直传过去不好使
2、把字段内容byte[]以后传过去也不好使
...全文
98 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
李洪喜 2003-11-26
  • 打赏
  • 举报
回复
GZ
brightheroes 2003-11-26
  • 打赏
  • 举报
回复
恭喜搂主,顺利解决
晕死,有时候修改别人的代码很郁闷
深有感触
smiletosky 2003-11-26
  • 打赏
  • 举报
回复
感谢各位,不过我是把字段直直接转化为byte[]就好使拉,以前不好使,是因为我们这个表,中间转三次,有一次同事做的,所以昨天走了很多弯路,不过也学了很多东西,中午结帐
ucipl 2003-11-25
  • 打赏
  • 举报
回复
'使用 ADODB.Stream 保存/读取文件到数据库中的字段
1、将读取表中IMAGE字段内容写入一临时文件

比如: '当然先要连接数据库打开表 ,mycon,myrecordset

Set mystream= New ADODB.Stream
With mystream
.Mode = adModeReadWrite
.Type = adTypeBinary
.Open
.Write myrecordset("IMAGE字段名") 'myrecordset就是打开的表
.SaveToFile "临时文件名"
End With
2、将临时文件内容读入写表中IMAGE字段,更新
比如:
Set mystream= New ADODB.Stream
With mystream
.Type = adTypeBinary
.Open
.LoadFromFile "临时文件名"
End With
myrecordset.Fields("保存文件内容的字段") = mystream.Read
myrecordset.Update

一般都是采用这种方法,使用语言不同代码不一样,自己转换一下吧
HardThink 2003-11-25
  • 打赏
  • 举报
回复
up
mint 2003-11-25
  • 打赏
  • 举报
回复
思归老大就是老大.厉害!!
大健 2003-11-25
  • 打赏
  • 举报
回复
也同意saucer(思归)
大健 2003-11-25
  • 打赏
  • 举报
回复
同意tjq_tang(过河兵)

saucer 2003-11-25
  • 打赏
  • 举报
回复
>>>image字段里的内容有没有变化,从哪儿能看出来

select datalength(yourImagefield) from yourtable

saucer 2003-11-25
  • 打赏
  • 举报
回复
这儿是个例子

use tempdb
go

---建立一个表
create table mytest (id int, logo image)
go

--你需要初始化你的字段 otherwise, it will fail
insert into mytest (id,logo) values (1, 0x00)
go

---you should turn on the options for your database
--EXEC sp_dboption 'pubs', 'select into/bulkcopy', 'true'
--GO

DECLARE @ptrval binary(16)
DECLARE @size int

DECLARE @ptrval2 binary(16)

SELECT @ptrval = TEXTPTR(logo), @size=datalength(logo) FROM pubs.dbo.pub_info where pub_id = '0736'

SELECT @ptrval2 = TEXTPTR(logo) from mytest where id = 1

READTEXT pubs.dbo.pub_info.logo @ptrval 0 @size

WRITETEXT mytest.logo @ptrval2 @ptrval
GO
--EXEC sp_dboption 'pubs', 'select into/bulkcopy', 'false'
--GO

select * from mytest
smiletosky 2003-11-25
  • 打赏
  • 举报
回复
同一个sqlserver,谁能知道,我怎么能知道我image字段里的内容有没有变化,从哪儿能看出来!思归老大来拉,不容易,加满拉!
smiletosky 2003-11-25
  • 打赏
  • 举报
回复
思归老大,我现在就我一个机器的两个数据库,从一个表里传输到另一个表里,image字段需要做什么特别处理!!
saucer 2003-11-25
  • 打赏
  • 举报
回复
>>>就两个相同的表,在两个数据库里,就因为这个小image字段,把我整晕拉,必须用表进行处理

两个数据库里? are they on the same sql server? or different sql server?

look into WRITETEXT in SQL Server Books Online or look into TEXTCOPY in SQL Server Books Online or see
http://www.databasejournal.com/features/mssql/article.php/1443521
tjq_tang 2003-11-25
  • 打赏
  • 举报
回复
2个数据库.是什么数据库.至少一个是Sql Server?
http://www.csdn.net/Develop/Read_Article.asp?Id=18623
看这篇文章能否给你一些提示


tjq_tang 2003-11-25
  • 打赏
  • 举报
回复
如果安装有Sql Server 它的帮助文档写得很清楚.如果楼主您还有其他特定的需求.只有自己动手读-->写了
tjq_tang 2003-11-25
  • 打赏
  • 举报
回复
使用Sql语句试试:
方法一:前提是该表只有一个字段或者要插入字段在最前,该方法不推荐
insert into table1 select table2.field2 from table2 where table2.mainkey='2'
方法二:前提是记录已经有了主键值
update table1 set field1=(select field2 from table2 where mainkey2='2') where mainkey1='1'
smiletosky 2003-11-25
  • 打赏
  • 举报
回复
我程序是c/s的
smiletosky 2003-11-25
  • 打赏
  • 举报
回复
就两个相同的表,在两个数据库里,就因为这个小image字段,把我整晕拉,必须用表进行处理
brightheroes 2003-11-25
  • 打赏
  • 举报
回复

如果先生成文件涉及到文件类型的问题,郁闷!
----〉干脆生成xml,呵呵
ds.writexml
elite2018 2003-11-25
  • 打赏
  • 举报
回复
do you must archieve it through Programming ?

Bcp in Sql can do it easyly
加载更多回复(8)

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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