【发布时间】:2011-06-25 19:01:07
【问题描述】:
我想创建一个包含多行文本框的 ASP.NET 页面。无论我将在其中为我的数据库编写什么查询,都应该执行该查询。
如果我想更新存储过程,那么我也应该能够做到这一点。 如何做到这一点?
【问题讨论】:
-
这个网站真的是用来提问的,没有人为你做你的工作。
标签: c# .net asp.net sql-server ado.net
我想创建一个包含多行文本框的 ASP.NET 页面。无论我将在其中为我的数据库编写什么查询,都应该执行该查询。
如果我想更新存储过程,那么我也应该能够做到这一点。 如何做到这一点?
【问题讨论】:
标签: c# .net asp.net sql-server ado.net
我想你知道安全问题。使用标准的 SqlConnection 和 SqlCommand 类。
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 的轮询机制。
【讨论】: