Показать сообщение отдельно
Старый 15.09.2011, 22:00   #6  
zloboglot is offline
zloboglot
Участник
 
3 / 10 (1) +
Регистрация: 11.09.2011
за activityparty спасибо. вот, собстно, то, что я нарыл по данному поводу:

имеем класс(таблицу) phonecall, в нем сидит поле to, которое имеет свое значение равным набору активитипать, у активитипать в свою очередь есть поле активитипатяайди.
мсдн говорит следующее по поводу to:
Цитата:
The value of this property is an activityparty array(массив) type.
.
на мсдн даже приведен пример кода:
Код:
[C#]
public activityparty[] to {get; set;} //скобочки в шарпах означают массив
судя по всему МСДНу, to - это массив, а значит правильное обращение к айдишнику будет следующим:
phonecall.to[i].activitypartyid

вот только в sql массивов нет, а мне надо по этому полю залинковать звонок с организацией, которой этот звонок идет, причем sql запросом ввиду того что репортбилдер, насколько я знаю, c# код не воспримет.

я собирался писать что-то в духе
Код:
select 
 *
from
  phonecalls 
  inner join leads 
  on phonecall.to[0].activitypartyid = lead.leadid
но это, ввиду отсутствия индексации в скьюель, не работало.
правда, я изначально писал phonecall.to[0] = ..., но возможности протестить .activitypartyid нет - удаленный комп лежит мертвым сном (ибо база доступна только из локали)

из разговора с человеком, которому собственно и помогаю - cross join'ы работают криво, т к связки между таблицами есть не везде (а точнее, их почему-то почти нет), и сами таблицы делали непонятно как. Этот же человек мне сообщил, что следует юзать иннерджойны, потому что они работают хотя бы как-то.

Если совсем уж честно, то синтаксис и структуру sql я знаю лишь в общих чертах. знаю про пару видов джойнов, апдейты, делиты и инсерты, и то со словарем в лице гугла. Однако что делать с данной бедой, гугл, к сожалению, не сообщает (либо приводит сэмплы обращений к бд мало того что из шарпа или бейсика, так еще и к базе в файле)