在程序里实现。测试用户输入的内容是否含有那些字符
*怎么会出问题?你跟踪一下,把生成的SQL贴出来

解决方案 »

  1.   

    写SQL语句时,用参数去传递就不会有问题
      

  2.   

    高效写法:string strsql = "insert into sometable (c1 , c2 , c3 , ...) values(@c1 , @c2 , @c3,...)"
    sqlcommand mycommand = new sqlcommand(strsql , myconn)
    try
    {
    mycommand.parameters.add(new sqlparameters("@c1" , sqldatatype.varchar , 20)
    mycommand.parameters["@c1"].value = this._name ;
    ....
    //有几个加几个
    ....
    }
    catch(...)
    ...这样呢,既可以避免低效率的字符串连接,又可以利用sqlcommand参数有效性检测来避免非法字符的出现,并且由于这种parameter方式是预编译的,效率更高。
      

  3.   

    在程序里实现不让用户在你的控件中输入[0-9a-zA-Z]之外的字符,不能实现么?
      

  4.   

    但根据中文的ASCII值的规律也可以实现啊