任何数据库的通用查询

时间:2014-07-13 09:19:20

标签: c# sql database oracle wildcard

我已经为Oracle和Access DB创建了一个查询。 查询是一个简单的select experssion包括通配符。

string query = @"SELECT t_package.Package_ID FROM t_package   
                WHERE t_package.PackageFlags   
                LIKE '#WC#VCCFG=#WC#CheckedOutTo=#WC#'";  

//set the wild card according to the DBMS type that current repository based on.
  string wildCardCharacter = "";
  wildCardCharacter = RepositoryType().Contains("Access") == true? "*" : "%";

//Replace wild card characters with the appropriate one.
  query = query.Replace("#WC#", wildCardCharacter);

我希望该查询也适用于以下数据库:

• MS SQL Server
• MySQL的
• Oracle9i中 和10g
• PostgreSQL的
• MSDE
• Adaptive Server Anywhere
• 进步OpenEdge

任何想法如何为每个设置适当的通配符?

1 个答案:

答案 0 :(得分:1)

仅限Afaik Access不使用标准SQL * _ 作为LIKE通配符(我对Progess OpenEdge不感兴趣)