自動忽略參數條件的sql解析器

 很久之前就想寫個解析sql解析器,能夠實現根據輸入參數自動保留或或者忽略條件的類庫,比如:select * from b where id=@id or name=@name,在有的情況下需要保留id而去除name條件,則直接輸入的參數列表是·@id就可以了,name條件會自動被忽略掉,卻一直苦於太難而沒有勇氣寫下去,年初項目工期比較緊,需要這個功能的類庫來簡化數據庫開發,被逼無奈,卻發現不是很難,匆匆完成,經過一個項目的使用,程序沒有任何問題,開發效率提高了很多,由於那個項目是使用c寫的,在c#下使用很不方便,最近有點時間就移植到了c#上,測試一下,效果還不錯,c版的只支持mysql,這次移植增加了sql server,sybase,oracle的語法支持,增加了 where (select count(*) from b where date>@dt) > 1這種類型的條件的支持。

總結來說,這次的移植後,支持子查詢,複雜參數的函數,嵌套函數,多重括號,union等的支持。完全開源免費。

下載:http://code.google.com/p/sqlparserlib/downloads/list

發佈了27 篇原創文章 · 獲贊 1 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章