如何从一个字符串中删除分号,撇号和逗号

时间:2012-12-19 09:23:02

标签: asp.net

我有一个aspx表单和一个多行文本框。我将文本框值发送到Oracle表,Oracle不喜欢撇号和分号。那么请你告诉我如何从字符串中排除撇号和分号?我这样做。

     using (OracleConnection connection = new OracleConnection())
                {
                    connection.ConnectionString = connectionString;
                    connection.Open();

                    OracleCommand command = connection.CreateCommand();

                    command.CommandType = System.Data.CommandType.StoredProcedure;

                    // Name of procedure or function to be executed
                    command.CommandText = "PROC_SENDREQUISITION";

                    command.Parameters.Add(new OracleParameter("P_ReqID", OracleType.VarChar)).Value = preqID;
                    command.Parameters.Add(new OracleParameter("P_reqDate", OracleType.VarChar)).Value = preqDate;
                    command.Parameters.Add(new OracleParameter("P_requester", OracleType.VarChar)).Value = prequester;
command.Parameters.Add(new OracleParameter("P_remarks", OracleType.VarChar)).Value = premarks;


                    command.ExecuteNonQuery();
                }

2 个答案:

答案 0 :(得分:1)

在查询中使用参数

现在你可能会连接字符串,这会导致 Sql Injection

来自MSDN的示例:

string queryString = "SELECT * FROM Table1 WHERE Field1 LIKE ?";
OleDbCommand command = new OleDbCommand(queryString, connection);
command.Parameters.Add("@p1", OleDbType.Char, 3).Value = "a";
OleDbDataReader reader = command.ExecuteReader();

答案 1 :(得分:0)

string.replace(“;”,“”)应该做的伎俩,但听起来你有SQL注入问题。因此,我建议阅读SQL注入,并解决它而不是删除半冒号和撇号。