0

我想修改我的代码,如下所示,但修改后我的正则表达式不起作用。我做错了什么?

我的代码

Regex reg = new Regex("(ALTER TABLE .+ REFERENCES\\s+)\"USER1\"[.](.+)");
richTextBox1.Text = reg.Replace(richTextBox1.Text, "$1$2"); 

修改代码

Regex reg = new Regex(String.Format("(ALTER TABLE .+ REFERENCES\\s+)\"{0}\"[.](.+)",textbox1.text);

richTextBox1.Text = reg.Replace(richTextBox1.Text, "$1$2"); 
4

1 回答 1

3

您的代码的根本问题源于SQL 注入攻击的威胁。

这种使用字符串操作动态构建 sql 语句的方法充满了危险,无论是否使用正则表达式。

立即停止

你更集中的问题消失了。

使用一些使用参数替换的方法。带有参数或 ORM 的 ADO.Net 命令,或者可能编写存储过程。

于 2013-08-21T09:22:34.883 回答