Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
C# и Cache
|
|||
|---|---|---|---|
|
#18+
Товарищи! Помогите пожалуйста разобраться как доставать нужные мне данные из базы Cache в мое приложение на C#. Я построил классы в Cache, построил прокси-классы для C#, залил в базу данные. А как теперь их из базы извлечь не могу понять ... Вот классы Cache: Class User.Stock Extends (%Persistent, %Populate, %XML.Adaptor) [ ClassType = persistent, Inheritance = right ] { // indexes Index Index On Code [ Type = index ]; // properties Property Minute As Minute; Property Code As %String [ Required ]; Property FullName As %String; Property Exchange As %String; Property TickSize As %Double; Property Description As %String(MAXLEN = 500); Property Currency As %String; } Class User.Minute Extends (%SerialObject, %Populate, %XML.Adaptor) [ ClassType = serial, Inheritance = right ] { //indexes Index TimeStampIndex On TimeStamp [ Type = index ]; Index TimeFrameIndex On TimeFrame [ Type = index ]; Index Index On (TimeStamp, TimeFrame) [ Type = index, Unique ]; //properties Property TimeStamp As %TimeStamp; Property TimeFrame As %BigInt; Property OpenPrice As %Double; Property HighPrice As %Double; Property LowPrice As %Double; Property ClosePrice As %Double; Property Volume As %Double; } Нужно получить выборку по определенному Code для промежутка времени TimeStamp (допустим за полгода) ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 15:29 |
|
||
|
C# и Cache
|
|||
|---|---|---|---|
|
#18+
slayk , если вопрос касается стороны Каше - ответ можно найти в файле objectqs.pdf ... авторДобавьте в класс Human свойство Home, типом которого будет являться Address, а поскольку Address сам является объектным классом (а не литеральным, как, например, %Integer), то атрибут Home будет представлять собой ссылку на объект типа Address. Скомпилируйте класс Human. В Caché Terminal создайте объекты h и a, классов Human и Address соответственно и заполните их свойства. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Код: plaintext 1. Код: plaintext 1. 2. Код: plaintext 1. 2. к нему через ссылку h.Home: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 16:24 |
|
||
|
C# и Cache
|
|||
|---|---|---|---|
|
#18+
автор Caché Objects QuickStart . В пособие для самостоятельного изучения в краткой форме изложены приемы работы с классами Caché. Приведены примеры создания классов, объектов и запросов, организации связанных классов, наследования, отношений, работы с сервером Caché Object для ActiveX. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 16:24 |
|
||
|
C# и Cache
|
|||
|---|---|---|---|
|
#18+
slayk , ПримерClass net.Minute Extends %SerialObject { //properties Property TimeStamp As %TimeStamp; Property TimeFrame As %BigInt; Property OpenPrice As %Double; Property HighPrice As %Double; Property LowPrice As %Double; Property ClosePrice As %Double; Property Volume As %Double; } Include %occResultSet Class net.Stock Extends %Persistent { // indexes Index Index On Code; Index Index1 On (Minute.TimeStamp, Minute.TimeFrame) [ Unique ]; Index TimeStampIndex On Minute.TimeStamp; Index TimeFrameIndex On Minute.TimeFrame; // properties Property Minute As net.Minute; Property Code As %String [ Required ]; Property FullName As %String; Property Exchange As %String; Property TickSize As %Double; Property Description As %String(MAXLEN = 500); Property Currency As %String; ClassMethod Test1( Code As %String, TS1 As %TimeStamp, TS2 As %TimeStamp) [ ReturnResultsets, SqlProc ] { $$$ResultSet("select 1, 5, 8, 1+5*3") $$$ResultSet("select count(*) from net.Stock") $$$ResultSet("select * from net.Stock where Code=:Code and Minute_TimeStamp between :TS1 and :TS2") } ClassMethod Test2( Code As %String, TS1 As %TimeStamp, TS2 As %TimeStamp, ByRef stream As %Stream.GlobalBinary) As %Status { set ds=##class(%XML.DataSet).%New() do ds.Prepare("select * from net.Stock where Code=? and Minute_TimeStamp between ? and ?") do ds.Execute(Code,TS1,TS2) quit ds.XMLExportToStream(.stream) } Query Test3( Code As %String, TS1 As %TimeStamp, TS2 As %TimeStamp) As %SQLQuery(CONTAINID = 1, ROWSPEC = "ID:%String,FullName:%String,Description:%String(MAXLEN=500),TimeStamp:%TimeStamp") [ SqlProc ] { select %ID,FullName,Description,Minute_TimeStamp from net.Stock where Code=:Code and Minute_TimeStamp between :TS1 and :TS2 } } Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. PS: советую также проработать упражнения из документации . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 18:37 |
|
||
|
|

start [/forum/topic.php?fid=39&fpage=45&tid=1557853]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
64ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 257ms |
| total: | 432ms |

| 0 / 0 |
