1、请问怎样能控制用户在TextBox控件中输入的字符串是数字和字母组成??
2、如果第一个问题不是用控制ASCII码的方法的话,那用ASCII码控制又怎么实现??问题背景:用TextBox.Text在程序里组合Sql语句时,如果用户输入的字符串含英文的逗号或单引号的时候就会抱错。Thank you very much.

解决方案 »

  1.   

    this.TextBox1.Text.Replace("'","''")或者使用存储过程参数
      

  2.   

    通过 控制用户在TextBox控件中输入的字符串是数字和字母组成
    并不是一个好的解决办法
      

  3.   

    用 this.TextBox1.Text.Replace("'","''")
    这个方法过滤  +  ,   '  "  <   > 为""基本上就没什么事了,要想更安全点就用存储过程把
      

  4.   

    给你一个转换函数 public static string ConvStrToSQL(string iSQLData, bool bAimaiKensaku)
            {
                string sReturn = "";
                string sReplace;
                if (bAimaiKensaku == true)
                {
                    for (int i = 0; i < iSQLData.Length; i++)
                    {
                        switch (iSQLData[i])
                        {
                            case '\'':
                                sReplace = "''";
                                break;
                            case '_':
                                sReplace = "[_]";
                                break;
                            case '%':
                                sReplace = "[%]";
                                break;
                            case '[':
                                sReplace = "[[]";
                                break;
                            case ']':
                                sReplace = "[]]";
                                break;
                            default:
                                sReplace = iSQLData[i].ToString();
                                break;
                        }
                        sReturn += sReplace;
                    }
                }
                else
                {
                    sReturn = iSQLData.Replace("'", "''");
                }
                return sReturn;
            }要给分的啊
      

  5.   

    1、请问怎样能控制用户在TextBox控件中输入的字符串是数字和字母组成??
    ---------------------------------
    用正则表达式
    2、如果第一个问题不是用控制ASCII码的方法的话,那用ASCII码控制又怎么实现??
    ------------------------------------
    在KeyPress中判断ACSII码即可。
      

  6.   

    同意 bitpolar(独自看天) 使用
    System.Data.SqlClient.SqlParameter、
    System.Data.OracleClient.OracleParameter、
    或者
    存储过程(推荐)替换字符的方法建议不要使用
      

  7.   

    多谢大家的帮助,用存储过程控制ACSII码还是???
      

  8.   

    使用
    System.Data.SqlClient.SqlParameter、
    System.Data.OracleClient.OracleParameter、
    或者
    存储过程(推荐)
    -------------------------------------------
    System.Data.SqlClient.SqlParameter、
    System.Data.OracleClient.OracleParameter怎么用??存储过程那??
    不好意思,我太菜了,给个小例子马上给分