0

http://www.codeproject.com/Articles/11178/Writing-SQL-queries-in-XML-A-support-sensitive-app

ASP.NET - グローバル リソース ファイルに SQL クエリを格納しますか?

上記のリンクのようなことをしたいのですが...うまくいきません..

私のプロジェクトには、xml に移動したい動的 SQL があります。誰か助けてくれませんか?

4

1 に答える 1

2

「SELECT BookingID from BOOKING WHERE BOOKINGDATE >= {0}」を保存したいと言っているからといって、次のような書き込みを計画しているわけではないことを願っています。

String.Format(query, parameter)

これは重大なセキュリティ上の脆弱性です。

編集:

本当にこのルートをたどりたい場合は、次のような Xml をお勧めします。

 <queries>
   <query id="getBookingId">
     <parameters>
       <parameter name="bookingDate" />
     </parameters>
     <statement>
       <!-- 
          SELECT BookingID from BOOKING WHERE BOOKINGDATE >= @bookingDate
       -->
     </statement>
   </query>
 </queries>

次に、クラスを持つことができます:

[XmlElement("query")]
public sealed class Query 
{
    [XmlAttribute("id")]
    public string Id { get; set; }

    // other elements/collections
}

次に、Xml をこれらの Query オブジェクトのコレクションに逆シリアル化できます。Xml ファイルを繰り返し処理することを避けるために、これを一度実行して IDictionary のどこかに保存することをお勧めします。

これで、各 Query オブジェクトに必要なものがすべて揃いました。パラメータのコレクションと sql ステートメント - 使用する前に、ステートメントからコメント文字 () を手動で削除する必要があることに注意してください。繰り返しますが、これは最初に一度行うのがおそらく最善です。

于 2012-09-04T16:03:22.000 に答える