我在一个程序中向数据库中的一个字段输入了大量的字符串(该字段定义为nText(16),对我要输入的字符串来说足够了),用查询分析器显示字符串全部输入了.但是在将该字符串取出并用RichTextBox控件显示时,只能显示字符串的一部分。(RichTextBox的MaxLength属性为2147483647,我用监控对赋予RichTextBox的Text属性的字符串RichTextBoxStr监控时,得到的也是这一部分字符串)
    问问大家,这是什么原因啊。如何才能使字符串完全显示呢

解决方案 »

  1.   

    以前在做SOCKET通信的时候碰到过这种问题.
    估计对这种NTEXT类型的数据要进行特殊处理.
      

  2.   

    设置SET TEXTSIZE 64512
    TEXTSIZE 默认的长度为4096 (4 KB),你一定是超出了
      

  3.   

    to: Night_Elf(风暴虫)
    在 sql query中设置吗
      

  4.   

    to:Night_Elf
    如何写这个存储过程而又不影响数据库中的其它数据呢?
    to:niunj()
    我的是桌面程序
      

  5.   

    你先把它写入文件,看看文件里面有多少如果文件里面也少,那就是SQL输出有误
      

  6.   

    USE pubs
    Create Procedure
    @  --参数
    as 
    SET TEXTSIZE 64512
    --检索数据(开始)----
    USE pubs
    DECLARE @textpointer varbinary(16)
    SELECT @textpointer = TEXTPTR(pr_info)
    FROM pub_info
    READTEXT pub_info.pr_info @textpointer 1 64512--检索数据(结束)----
    SET TEXTSIZE 0   (将TEXTSIZE 重置为默认值)
      

  7.   

    我用
    declare @p nvarchar(4000)
    select @p=结果
    from shuzu
    print @p
    显示的结果是完全的
      

  8.   

    我用
    declare @p nvarchar(4000)
    select @p=结果
    from shuzu
    print @p
    显示的结果是完全的-----------------------------------------
    ntext类型的数据不是这样取得,要像我上面的代码那样,还有其他的一些方式,你可以查一下SQL的帮助