我用的是SQL-SERVER数据库,其中有一个表table1,它的一个字段CL1是text型,
现在我在程序(c#)中使用update语句来对该表操作
update table1 set CL1=string1 where.......
其中string1 是c#中申明的一个变量,但是我运行程序的时候就报错,
说是列名 string1 无效。我试过转换类型cast(string1 as nvarchar) 等方法,一直不行,郁闷.哪位大哥帮一下忙啊!

解决方案 »

  1.   

    "update table1 set CL1='"+string1+"' where......."
      

  2.   

    string1表示的值两边需要有两个单引号,否则sqlserver会语法分析错误
      

  3.   

    支持text字段处理的仅有:
    下面的函数和语句可以与 ntext、text 或 image 数据一起使用。
    函数          语句 
    DATALENGTH    READTEXT 
    PATINDEX      SET TEXTSIZE 
    SUBSTRING     UPDATETEXT 
    TEXTPTR       WRITETEXT 
    TEXTVALID 主题:text字段
    1:替换--创建数据测试环境
    create table #tb(aa text)
    insert into #tb select 'abc123abc123,asd'--定义替换的字符串
    declare @s_str varchar(8000),@d_str varchar(8000)
    select @s_str='123' --要替换的字符串
    ,@d_str='000' --替换成的字符串--字符串替换处理
    declare @p varbinary(16),@postion int,@rplen int
    select @p=textptr(aa),@rplen=len(@s_str),@postion=charindex(@s_str,aa)-1 from #tb
    while @postion>0
    begin
    updatetext #tb.aa @p @postion @rplen @d_str
    select @postion=charindex(@s_str,aa)-1 from #tb
    end--显示结果
    select * from #tb--删除数据测试环境
    drop table #tb
      

  4.   

    text 类型不支持 UPdate也可以转换下
    update 表 set convert(varchar(8000),字段)=''....