由于项目的需要,要编写大量的sql查询,而项目成员编写的格式有很多的不同,于是想到利用XML统一做方面的工作(具体如何转换,大家可以根据项目编程的语言来实现)。具体如下:
<data><select>''''''''</select><from_table table_name=''''''''><field_name[connection]=''''AND(default)|OR''''[bool_type]=''''=(default)|NOT''''[contain]=''''=|<>|!=|>|>=|!>|<|<=|!<|LIKE(value cannot include "@comma@")|BETWEEN|IN''''[value]=''''1|1@comma@20|2003-04-01|2003-04-01@comma@2003-04-01|ab|NULL''''[special]=''''eg.:not in (1,2,3)|IS [NOT] NULL''''/><field_name .../><join><join_table table_name=''''''''[join_type]=''''INNER(default)|FULL OUTER|LEFT OUTER|RIGHT OUTER|CROSS''''join_condition=''''from_table_name.field_name=join_table_name.field_name''''><field_name deal like the first field/><field_name ...></join_table></join><orderby value=''''''''/><groupby value=''''''''/><having value=''''''''/></data>
说明:共七个节点:
下面以SQL Server2000自带的Northwind数据库为例,介绍具体的做法:SQL:SELECT UnitsInStock, ProductID, ProductNameFROM ProductsWHERE UnitsInStock BETWEEN 15 AND 25ORDER BY UnitsInStock
XML:
<data>
<select>UnitsInStock, ProductID, ProductName</select>
<from_table table_name=’ Products’/>
<UnitsInStock contain=’BETWEEN’ value=’15@comma@25’>
</from_table>
<orderby>UnitsInStock</orderby></data>
由于时间比较仓促,还会有一些考虑不周全的地方,请大家讨论、补充,多谢了。如有疑问,也可以直接给我Email(chinasoe@163.net)
Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved. 闵涛 E_mail:admin@mintao.net(欢迎提供学习资源)
鄂公网安备 42011102001154号
站长:MinTao ICP备案号:鄂ICP备11006601号-18