SQL查询语句中如果处理类似Tstringlist的数据 ( 积分: 200 )

  • 主题发起人 主题发起人 abigfish
  • 开始时间 开始时间
A

abigfish

Unregistered / Unconfirmed
GUEST, unregistred user!
MS&nbsp;SQL数据库里的结构是text型,我用Delphi的Tstringlist给text类型付值<br>现在我想通过存储过程来实现<br>其中要实现在原来的Tstinglist再加上一行,这样的SQL语句要怎么写呢,如果今天给出参考答案的就给专家分.谢谢
 
var&nbsp;tpList:TStringList;<br>begin<br>&nbsp;&nbsp;try<br>&nbsp;&nbsp;&nbsp;&nbsp;tpList&nbsp;:=&nbsp;TStringList.Create;<br>&nbsp;&nbsp;&nbsp;&nbsp;tpList.Text&nbsp;:=&nbsp;'abc'+#13+'efg'+#13+'xyz'+#13;<br>&nbsp;&nbsp;&nbsp;&nbsp;ShowMessage(tpList.Strings[0]);<br>&nbsp;&nbsp;&nbsp;&nbsp;ShowMessage(tpList.Strings[1]);<br>&nbsp;&nbsp;&nbsp;&nbsp;ShowMessage(tpList.Strings[2]);<br>&nbsp;&nbsp;Finally<br>&nbsp;&nbsp;&nbsp;&nbsp;tpList.Free;<br>&nbsp;&nbsp;end;<br>end;<br>上面是一段DELPHI的演示代码,从演示中可以看到,用<br>&nbsp;&nbsp;&nbsp;&nbsp;tpList.Text&nbsp;:=&nbsp;'abc'+#13+'efg'+#13+'xyz'+#13;<br>达到的效果与<br>&nbsp;&nbsp;tpList.Add('abc');<br>&nbsp;&nbsp;tpList.Add('efg');<br>&nbsp;&nbsp;tpList.Add('xyz');<br>相同。由此我们可以得出,只要在字符串与字符串之间用&nbsp;#13(回车符)间隔,那么就可以被TStringList识别为一个ITEM。所以在存储过程中,也完全一样,只要采用语句<br>Update&nbsp;表&nbsp;Set&nbsp;字段1=字段1+char(13)+'添加在最后一行的内容'+Char(13)&nbsp;Where&nbsp;xxxx&nbsp;这样就可以了
 
谢谢,这样应该可以实现,待会处理完了就给分
 
update&nbsp;Tbl_SMS&nbsp;set&nbsp;Datasms=Datasms+char(13)+'555550108F82A5301D1070101'&nbsp;where&nbsp;Randid=2056<br>服务器:&nbsp;消息&nbsp;403,级别&nbsp;16,状态&nbsp;1,行&nbsp;1<br>对数据类型而言运算符无效。运算符为&nbsp;add,类型为&nbsp;ntext。<br>我在查询分析器里试了,知道怎么处理吗,Datasms是ntext类型,
 
先给分吧,问题还是没解决,好像是SQL2005才行
 
如果TEXT字段的长度没越过8000个字节的话,可以用以下语句更新<br>pdate&nbsp;Tbl_SMS&nbsp;set&nbsp;Datasms&nbsp;=&nbsp;Cast(Datasms&nbsp;as&nbsp;nVarChar(4000))+char(13)+'555550108F82A5301D1070101'&nbsp;where&nbsp;Randid=2056<br>如果有可能超过的话,你查一下SQL的帮助,里面有一个专门用于更新TEXT字段的语句,UPDATETEXT&nbsp;&nbsp;与&nbsp;&nbsp;WRITETEXT,我以前有用过,可以实现的。
 
后退
顶部