asp的新闻系统
list_content 为新闻内容的 字段 数据类型 ntext 字段长 16 运行空  (由access的 备注 字段类型升级而来的)采用
sqltest="Insert into dbo.list(list_title,list_class_id,list_date,list_content)values('"&list_title&"',"&class_id&",'"&list_date&"','"&list_content&"');"
'response.write sqltest
Conn.execute sqltest来插入数据库,list_content为字段插入值 如果字符数比较少就可以插进去,一旦有点大,就不能插入进去请问这是为什么呢?ntext:长度不是设定的,最短为1字节,最长为2G.尾部的空白会去掉,储存一个字符需要2个字节. 
使用varchar 也不行

解决方案 »

  1.   

    varchar后面要加上长度.如: varchar(8000)
      

  2.   

    好像用的ado?确认下:
    1、不能插入进去 是什么意思,出错还是查询的结果截断了?
    2、如果是结果截断了,是在查询分析器查询的还是程序查询的?
    3、如果是查询分析器,可能数据已经插入,只需要修改查询分析器的返回字符数设置就能看到
      

  3.   

    varchar(n) 
    长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。 nvarchar(n) 
    包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。 
    存储一个用户的联系地址用varchar就可以了,节省资源 
    list_content varchar 8000 这样才可以一定要用用这么大吗?可变长度 还要指定值吗?
      

  4.   

    如果SQL是2005的,建议用nvarchar(max),不要再用ntext了.
      

  5.   

    顺便提一下ntext 字段将在不久的将来取消,现在的程序最好不要使用,2005以上用nvarchar(max)