DevForce用带引号的查询封闭数据库对象

时间:2015-03-24 09:47:36

标签: c# devforce

我注意到DevForce执行的数据库查询用引号括起查询中的数据库对象(例如select * from“SCHEMA_NAME”。“TABLE_NAME”)。我想问一下DevForce是否有办法不这样做。

我目前正在使用DevForce Classic 3.7.5.1。

感谢。

1 个答案:

答案 0 :(得分:1)

DevForce Classic使用“提供程序助手”来确定SQL语句的格式。使用的默认帮助程序由连接字符串确定,但通常是OleDbProviderHelper的实例。要更改默认逻辑,您可以根据需要将OleDbProviderHelper或其他帮助程序子类化。

在这种情况下,要更改标识符的格式,您可以使用类似于以下内容的内容:

public class CustomProviderHelper : IdeaBlade.Rdb.OleDbProviderHelper {

  public override string FormatIdentifier(string identifier) {
    return identifier;
  }
}

此方法的默认逻辑使用base.IdentifierPrefix和base.IdentifierSuffix值包装标识符,您也可以覆盖它们。在上面的示例中,我只删除了所有前缀和后缀的使用,但您可以做任何最适合您的事情。

如果将类放在指定为RdbKey的探针程序集之一的服务器上的程序集中,DevForce将找到您的自定义实现。