0

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

ASP.NET - 在全局资源文件中存储 SQL 查询?

我想做类似上面链接的事情......但它不适合我......

我的项目中有动态 sql,我想移动到 xml。有人可以帮忙吗?

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 对象的集合。我建议这样做一次并将其存储在 IDictionary 某处以避免重复处理 Xml 文件。

然后,您在每个 Query 对象中拥有所需的一切。一组参数和 sql 语句 - 请注意,在使用之前,您必须手动将注释字符 () 从语句中删除。同样,可能最好在开始时执行一次。

于 2012-09-04T16:03:22.000 回答