真搞不懂,语句很明显没有错误.但是 effect的行数为0.
是不是 decimal类型,不是int的类型原因?也不应该哈...到底什么情况..

解决方案 »

  1.   

    FSex是不是有" "空格符,把条件换成这个试试:where REPLACE(FSex,' ','')='女'
      

  2.   

    我觉得也是条件有问题,可以尝试楼上的做法。trim(FSex) 或者 LTRIM(RTRIM(FSex))
      

  3.   

     effect的行数为0,肯定就是where子句的问题,因为只有where子句才会影响 effect的行数,改为 where [FSex] like '%女%' 试试看,不管怎样效率都很低,最好把[FSex]改为int型,
      

  4.   


    被你说中了,不过,还是选不出来.
    我在VS中调试的时候,发现是 \t(回车)
    ..晕...我导入的时候,忘记Trim()了...
    怎么办哈...
      

  5.   


    我在4 楼说的...Trim不了...
      

  6.   


    性别改为int类型?
    好吧...你的意思是,如果性别不保密的话,用 bit做更好?
      

  7.   


    性别改为int类型?
    好吧...你的意思是,如果性别不保密的话,用 bit做更好?这个也没有区别吧!
    不过对于含有回车符等符号,要去掉的话,可以参考:http://www.cnblogs.com/50614090/archive/2010/12/16/1908634.html
      

  8.   


    性别改为int类型?
    好吧...你的意思是,如果性别不保密的话,用 bit做更好?这个也没有区别吧!
    不过对于含有回车符等符号,要去掉的话,可以参考:http://www.cnblogs.com/50614090/archive/2010/12/16/1908634.html
    谢....
    请问你这里的
    "这个函数有一点不足是不支持 text,ntext类型字段的替换"
    是什么意思哈...
      

  9.   


    性别改为int类型?
    好吧...你的意思是,如果性别不保密的话,用 bit做更好?这个也没有区别吧!
    不过对于含有回车符等符号,要去掉的话,可以参考:http://www.cnblogs.com/50614090/archive/2010/12/16/1908634.html不是哈,我的意思是,如果字段的值没有"保密",也就是说,只有两个值的话,用bit 只有 0 和 1 ,那不多好哈...
      

  10.   

    数据库最好不要动,
    可用Replace函数把空格,或者换行这些替换为空
      

  11.   

    你好像是  update xxxx set xxxx == xxxx where xxx = xx 
    你把 == 改成 = 应该就好了,你的图很不清晰 不知道是不是我看错了
      

  12.   

    我在 SQL Server中这样,
    update [dbo].[T_Employee_01] set [FSex] = REPLACE([FSex],'\t','')
    //结果是 :(41 row(s) affected)
    但是我在 VS中读取(是用连接数据库方式),也就是说用DataReader方式读取,但是内容还是不变,字段值还是 "男\t"
    是不是我写错了...何解.
      

  13.   


    天哈....我知道 SQL中等于不能用 == 的哈...我是在SQLServer操作的...如果用 == 的话都早报语法错误了好不好...
      

  14.   

    我在 SQL Server中这样,
    update [dbo].[T_Employee_01] set [FSex] = REPLACE([FSex],'\t','')
    //结果是 :(41 row(s) affected)
    但是我在 VS中读取(是用连接数据库方式),也就是说用DataReader方式读取,但是内容还是不变,字段值还是 "男\t"
    是不是我写错了...何解.
    是这样的。因为你数据库并没有改变啊。只是replace后能查找到数据了,读出来还需要代码处理,如果可以懂数据库的话,你可以直接替换
      

  15.   

    我在 SQL Server中这样,
    update [dbo].[T_Employee_01] set [FSex] = REPLACE([FSex],'\t','')
    //结果是 :(41 row(s) affected)
    但是我在 VS中读取(是用连接数据库方式),也就是说用DataReader方式读取,但是内容还是不变,字段值还是 "男\t"
    是不是我写错了...何解.
    是这样的。因为你数据库并没有改变啊。只是replace后能查找到数据了,读出来还需要代码处理,如果可以懂数据库的话,你可以直接替换直接替换...这种个事不是程序员应该做的吧...如果有上万条数据怎么弄哈...
    关键是,我不是 Update了么...又不是 Select...怎么不改变..update应该是更新数据库字段的值不是么...
      

  16.   

    update [dbo].[T_Employee_01] set [FSex] = REPLACE([FSex],CHAR(9),'')搞定了...版主你搞错了...update可以更新....
    char(9)才是制表符 '\t'所以这个语句才对...
      

  17.   

    是可以更新啊,这样肯定可以啊,你写的update都嘛。你没懂我上面的意思,
    我意思是说不能动数据库,就只有用代码处理啥。
      

  18.   

    是可以更新啊,这样肯定可以啊,你写的update都嘛。你没懂我上面的意思,
    我意思是说不能动数据库,就只有用代码处理啥。
    额....我知道...我也碰到过...貌似更改数据库..蛮麻烦的...