2016-08-18 77 views
0

而是使用参数在SQL语句中?马克的,我想使用命名字段,它比WHERE something = ? AND somethingelse < ? and whatever LIKE ?InterSystems的缓存命名CacheParameter

是以下可能在某些能力更具可读性?

SELECT * FROM NAMESPACE.Table WHERE Name = @name AND Something = @anothervar 

的官方文档完全不提它,并显示我的参数值设置为获取其中Name与A开始的所有行,参数传递以下

string SQLtext = 
     "SELECT ID, Name, DOB, SSN " 
    + "FROM Sample.Person " 
    + "WHERE Name %STARTSWITH ?" 
    + "ORDER BY Name"; 
    CacheCommand Command = new CacheCommand(SQLtext, CacheConnect); 

到CacheCommand对象:

CacheParameter Name_param = 
    new CacheParameter("Name_col", CacheDbType.NVarChar); 
    Name_param.Value = "A"; 
    Command.Parameters.Add(Name_param); 

回答

2

命名缓存SQL参数只有两种方式。

  • Embedded sql与& sql()。你只能使用CacheObjectScript,而不能在.Net中使用这种方式。
  • Class Query你也不能使用它,只是因为这样的SQL查询应该在Class本身上定义,当你调用它时,你应该传递所有参数,而不用名字。

所以,在你的情况下没有办法。

+0

完美,谢谢。 –

相关问题