通过在ASP.net多行文本框中写入任何类型的SQL查询来执行该查询

本文关键字:查询 类型 任何 SQL 执行 ASP net 文本 | 更新日期: 2023-09-27 18:00:17

我想创建一个包含多行文本框的ASP.NET页面。无论我将在其中为数据库编写什么查询,都应该执行该查询。

比如,如果我想更新存储过程,那么我也应该能够做到这一点。如何做到这一点?

通过在ASP.net多行文本框中写入任何类型的SQL查询来执行该查询

我想您了解安全问题。使用标准的SqlConnectionSqlCommand类。

using(var cnn = new SqlConnection("-my-connection-string-")){
    using(var cmd = cnn.CreateCommand()) {
        cmd.CommandText = this.txtSqlCommand.Text;
        cmd.ExecuteNonQuery();
    }
}

您可能还想使用SqlDataReader()来枚举结果。例如,如果您想激发返回结果的SQL查询,则需要添加以下内容:

using(var cn = new SqlConnection("-my-connection-string-"))
{
    SqlCommand cmd = new SqlCommand(cn, this.txtSqlCommand.Text);  
    using(SqlDataReader dr = cmd.ExecuteReader())
    {
          while(dr.Read())
          {
                 ...
          }
    }
}

我在我建立的一个网站上做了完全相同的事情,所以如果你愿意,我可以帮助你。此外,当您有长时间运行的查询时,您可能需要考虑浏览器/ASP.net可能超时的事实,因此您需要构建一个基于AJAX的轮询机制。