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