TestPage1

test;⎕USING;ctx;cust;custQuery;orderQuery
 ⎕USING←'' 'Microsoft.Jasper,C:\Programmi\Microsoft Codename Jasper CTP\Binaries\Microsoft.Jasper.CTP.dll'
 ⎕SHADOW'ctx'
 ctx←DynamicContext.CreateDynamicContext⊂conn
⍝ direct access
 ⎕←{⍵.CategoryName}foreach ctx.Categories
⍝ simple query
 ⎕←↑{⍵.(ProductName UnitPrice)}foreach ctx.Products.Where'it.ProductName = ''Chai'''⍬
⍝ find by key
 cust←ctx.Customers.FindByKey⊂,⊂'AROUT'
 ⎕←cust.(CustomerID CompanyName)
⍝  composite query
 custQuery←ctx.Customers
 custQuery←custQuery.Where'it.Country = ''USA'''⍬
 custQuery←custQuery.OrderBy'it.CompanyName'⍬
 custQuery←custQuery.Select'it.CustomerID, it.CompanyName, it.City'⍬
 ⎕←↑{⍵.(CustomerID CompanyName City)}foreach custQuery
⍝ relationship navigation in query
 orderQuery←ctx.Orders.Where'it.Customer.CompanyName = ''Around the Horn'''⍬
 ⎕←↑{⍵.(OrderID OrderDate)}foreach orderQuery

 Z←{B}SEshw string;D;K;M;N;T;V;obj;objs;Filter;⎕IO;_CtpPor;nsFilter;upper
⍝∇SESHOW str -Lists all syntactic occurrences of<str> in the matrix of names specified in B
⍝ return the functions/operators/multiscreenpackages names(whole path)and the referred rows
 ⍝ may be side effect (session manager display) produced by function  SEmsg
⍝ B:[1]bool 1=case insensitive  [2]:limit list  [3]:list to be searched
 ⍝ If B is not there then the list is all the functions and operators in the workspace
 ⍝ If ⊃B[3] is '↓' then the calling tree starting from B is built
 ⍝ If ⊃B[3] is '*' or # then search extended to namespaces(i.e. objects of all loaded groups)
 ⍝ If B is a two-el nested vector, then ←→ 0 V B where V is the list of
  ⍝    names to limit the search into. Useful to limit the scope of '↓'
⍝ ALSO multiscreen packages are searched in; when found, the result contains [!

⍝ . is considered a syntactical separator
⍝ <string> can contain . ; e.g. '#.Alm.' or  '.MFU' or '.MFU.' or 'MFU.nCI'
⍝  when <string> is terminated by ]? then references to column_indexes are searched
   ⍝ NB

This is a CamelCase22

Does APL font within a sentence work? ¯3+¨⌊(2↑3↓⍇1 1),X[⍋X]   Yes it does!

TestPage1 (last edited 2010-07-14 07:07:12 by anonymous)