有一个系统用c#已经开发完成,但没有考虑到过滤问题,请问大家有什么好的方法吗?我想找工作量最小的方法,谢谢大家

解决方案 »

  1.   

    单引号换成2个 ''====CSDN 小助手 V2.5 2005年11月05日发布====
    CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
    速度快,使用方便。
    界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
    下载:http://szlawbook.com/csdnv2
      

  2.   

    方法1:如果你是用多层架构,那么应该有一个统一的入口作数据查询,那就在这入口里将参数里的单引号Replace成两个单引号方法2:在界面层,如果自己扩展了.Net的那些控件,比如常用的TextBox,Combox等,覆盖Text属性,自己处理其Text。
      

  3.   

    sqlserver也会有单引号的问题吗?
      

  4.   

    MyLf(不睡觉的鱼) 方法过滤一些不合法不安全的符号,另外可以用参数编程如果是用事DataGrid/Table/View过滤,可以用我的一个过滤程序,直接使用
    www.webmis.com.cn
      

  5.   

    sqlserver也会有单引号的问题吗?
    --------------------
    凡是用SQL语句查询都会有啊,管你是SQLServer还是Oracle还是Access.你的系统都开发完成了,第二种方法可能就用不上了。就是将控件的Text属性重写嘛。
    比如:
    public override string Text
    {
    get
    {
    return base.Text.Replace("'","''");;
    }
    set
    {
    base.Text = value;
    }
    }
    这样,你前台代码就不用管了啊。
      

  6.   

    但我用的不是多层架构,应该怎么办呢,第二种方法又太费事,
    谢谢MyLf(不睡觉的鱼) 作答
      

  7.   

    控件的Text属性重写在那里写呀
      

  8.   

    使用
    System.Data.SqlClient.SqlParameter
      

  9.   

    System.Data.SqlClient.SqlParameter 改动会很大吧