数据|数据库如果你用的是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
如何将图片存到数据库中?
80酷酷网 80kuku.com