.db 数据库 存图片,如何将图片存到数据库中?

如何将图片存到数据库中? - 应用软件 - 电脑教程网

如何将图片存到数据库中?

日期:2007-02-23   荐:
  如果你用的是sql server数据库!你不想用后台操作你可以看看这个 下面是对text的操作你可以看看 1. 写操作(WRITETEXT) 这里一般要用到的函数有TextPtr获得文本字段的指针,和TextVaild检验指针的有效性,@@RowCount判断返回记录的条数。 其基本方法是:用Textptr函数得到指针,判断其有效性,用Writetext写数据 函数说明:Textptr(字段名)。Writetext tablename。Fieldname @textptr(指针) [With Log] data(数据) 例如: Begin Tran Declare @Mytextptr VarBinary(16) Select @mytextptr=textptr(pr_info) From Pub_Info (updlock) Where pud_id=’9999’ IF @Mytextptr Is Not Null Writetext pub_info.pr_info @mytextptr with log ‘data’ Commit Tran 2. 读操作 常用函数 PatIndex(‘%exp%’,var|fieldname。。) Datalength() @@TextSize 文本大小 SettextSize N 设置文本大小 ReadText {TableName。FieldName} {@textptr} Offet Size [HoldLock] 例如: begin tran Declare @mytextptr Varbinary(16),@Totalsize int,@Readsize int,@lastread int Set textsize 100 Select @mytextptr=textptr(pr_info), @totalsize=datalength(pr_info) @lastread=0, @readsize= case when (textsize<datalength(pr_info) then textsize eles datalength(pr_info) end From Pub_info Where Pub_id=’1622’ IF @mytextptr Is not Null and @readsize>0 While (@lastread<@totalsize) ReadText pub_info.pr_info @mytextptr @lastread @readsize holdlock If (@@error<>0) Break Select @lastread=@lastread @readsize If ((@readsize @lastread)>@totalsize) Select @readsize=@totalsize-@lastread End Commit Tran 3.数据更新UpdateText 更新数据代替了写操作,其基本语法是: UpdateText Table_Name.Col_Name Text_Ptr Offest(偏移量) Deleted_Length [With Log] [Inserted_Data|Table_Name.Scr_Column_name Str_Text_Ptr] 说明: Offest:0说明从开头开始,Null表示你向当前内容追加数据。 Deleted_Length:0表示不删除任何内容,Null表示删除所有内容。 例如1(完全代替): Declare @mytextptr varbinary(16) Begin tran Select @mytextptr=textptr(pr_infro) from pub_info(uplock) where pub_id=’9999’ If @mytextptr is not null Updatetext pub_info.pr_infro @mytextptr 0 null with log “you are right” Commit 例如2: declare @mytextptr varbinary(16) ,@offest int Begin tran Select @mytextptr=textptr(pr_infro),@offest=patindex(‘%D.C%’,pr_infro)-1 4 /*减一是因为有一个矫正的偏移量,加4是因为D.C.是4*/ from pub_info(unlock) where pub_id=’0877’ If @mytextptr is not null and @offest>=0 Updatetext pub_info.pr_infro @mytextptr @offest null with log Commit tran 例如3: 文本追加的问题 将出版商pub_id=9952的内容追加到出版商Pub_id=0877d的文本中。 Delcare @source_textptr varbinary(16),@target_textptr varbinary(16) Begin tran Select @source_textptr=textptr(pr_infro) from pub_info(uplock) where pub_id=’0877’ Select @target_textptr=textptr(pr_infro) from pub_info(uplock) where pub_id=’9952’ If @source_textptr Is not null and @target I s not null Updatetext pub_info.pr_infro @target_textptr null null with log pub_info.pr_infro @source_textptr
标签: