用XML编写SQL查询

时间:2012-09-04 15:24:53

标签: asp.net xml teradata

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

ASP.NET - Storing SQL Queries in Global Resource File?

我想做一些像上面这样的链接...但它对我不起作用..

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

1 个答案:

答案 0 :(得分:2)

我真的希望你说你想要存储“预订时从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语句 - 请注意,在使用之前,您必须手动删除语句中的注释字符()。同样,最好在开始时做一次。