2011-06-25 19 views
-2

複数行のテキストボックスを含むASP.NETページを作成したいとします。私のdbのためにそれに書き込むクエリがあれば、クエリは実行されるはずです。ASP.netの複数行のテキストボックスに任意のタイプのSQLクエリを実行して実行する

私がストアドプロシージャを更新したい場合、同様にそれを実行できるはずです。 これを達成するには?

+0

このサイトは本当に質問のためのもので、人々があなたのためにあなたの仕事をしているわけではありません。 – JohnFx

答えて

1

あなたはセキュリティの問題について知っていると思います。標準SqlConnectionSqlCommandクラスを使用してください。

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

[txtSqlCommand] – Abhi

+0

このテキストボックスでストアドプロシージャをオンラインでアップデートできますか?標準のT-SQLスクリプトで実行できます。 "ALTER PROCEDURE"を探します。 – TcKs

+0

ya ok dats fine – Abhi

1

また、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ベースのポーリングメカニズムを構築する必要があります。

関連する問題