【问题标题】:Executing any type of SQL query by writing it in ASP.net multiline textbox [closed]通过在 ASP.net 多行文本框中编写任何类型的 SQL 查询来执行它 [关闭]
【发布时间】:2011-06-25 19:01:07
【问题描述】:

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

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

【问题讨论】:

  • 这个网站真的是用来提问的,没有人为你做你的工作。

标签: c# .net asp.net sql-server ado.net


【解决方案1】:

我想你知道安全问题。使用标准的 SqlConnectionSqlCommand 类。

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

【讨论】:

  • 我可以通过这个文本框在线更新存储过程吗[txtSqlCommand]
  • 您可以使用标准的 T-SQL 脚本来完成。寻找“ALTER PROCEDURE”。
【解决方案2】:

您可能还想使用 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 的轮询机制。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-01
    • 2022-01-04
    • 1970-01-01
    • 2020-12-29
    • 1970-01-01
    • 1970-01-01
    • 2014-08-09
    • 2021-09-08
    相关资源
    最近更新 更多