Rambler's Top100
Главная
Новости
Статьи
Форумы
Книги
Коды
Сообщество
Блоги
О нас
 

Логин

Email:
  Пароль:

Войти
Зарегистрироваться
Забыл пароль

Поиск

 Искать :
 
Вперед

Сообщение

Max Pro


Патриарх

Зарегистрирован:
09 October 2003
Сообщения: 1749
Примеры кода: 50
 

Зацените

12 October 2007 19:43  


Я уже как-то хвастался, но вот ей-Богу не грех повторить, тем более что ситуация ещё усложнилась. Что я имею ввиду: с точки зрения программиста, разобраться в кодах без стакана уже нельзя. А вот с точки зрения компьютера, это оптимальный по трудоёмкости путь: строк кода мало и их отработка оптимизирована. Парадокс состоит в том, что если попытаться облегчить жизнь чужому программисту, пытающемуся вникнуть в коды, и изменить коды, то получится ещё хуже - во-первых сильно возрастёт число строк кода, и во-вторых вэб-страница будет грузиться ощутимо дольше. Это уникальный в своём роде случай, объединяющий в себе несколько языков и технологий воедино.
*******
1. Функция sSqlIn(). Выдаёт некий фрагмент t/sql.
Для этого выполняется хранимая процедура и анализируются полученные данные. Затем в зависимости от того, что было в рекордсете, выполняется вэб-запрос:
oWebClient.DownloadData(URI)
Причём не один вэб-запрос, а несколько, заранее не известно, всё зависит от результатов хранимой процедуры. Далее, в зависимости того, что выдал выб-запрос, формируется искомый фрагмент t/sql. 2. Динамически формируется t/sql с учётом фрагментика функции sSqlIn(). Нединамически, а с помощью хранимой процедуры никак нельзя, так как t/sql заранее не известен и зависит кроме вставляемого фрагментика ещё много от чего. Но самое интересное это то, каким формируется t/sql. Его строка написана с тегами и с функциями яваскрипта. Вот один из многочисленных фрагментов:
String sSqlIn1 = sSqlIn();
oSqlStr[0, 12] = " CASE WHEN s1.n_pp IN " + sSqlIn1 + " THEN '<DIV onclick=\"fShowWindow(''../ReglamSchemesDoc.aspx?code='+Cast(s1.n_pp AS VarChar(50))+''')\" align=\"center\"><img border=\"0\" src=\"../Image/sxemaRed.gif\"></DIV>'+CASE WHEN s1.s_reglament>'' THEN '<DIV onclick=\"fShowFile('''+Replace(Replace(s1.s_reglament,' ',''),';',''')\" align=\"center\"><img border=\"0\" src=\"../Image/sxema.gif\"></DIV><DIV onclick=\"fShowFile(''')+''')\" align=\"center\"><img border=\"0\" src=\"../Image/sxema.gif\"></DIV>' ELSE '' END ELSE CASE WHEN s1.s_reglament>'' THEN '<DIV onclick=\"fShowFile('''+Replace(Replace(s1.s_reglament,' ',''),';',''')\" align=\"center\"><img border=\"0\" src=\"../Image/sxema.gif\"></DIV><DIV onclick=\"fShowFile(''')+''')\" align=\"center\"><img border=\"0\" src=\"../Image/sxema.gif\"></DIV>' ELSE '' END END ";

Улыбка
Стоит ли говорить, что всё работает, грузится быстро и без разницы для какого обозревателя.
Работай так, чтобы Великий Учитель Dimon aka одобрил, и AL похвалил!
Наверх
  



Общие вопросы программирования на ASP.NET

 ЗаценитеMax Pro  12 October 2007 19:43
 Re: ЗаценитеRandom_Goodman  16 October 2007 16:58
 Re: ЗаценитеRandom_Goodman  16 October 2007 16:25
 Re: ЗаценитеRandom_Goodman  16 October 2007 16:24
 Re: Заценитеvb95  16 October 2007 16:46
 Re: ЗаценитеRandom_Goodman  16 October 2007 16:19
 Заценитеvb95  16 October 2007 16:20
 Re: ЗаценитеRandom_Goodman  16 October 2007 15:14
 Re: Заценитеvb95  16 October 2007 16:16
 ЗаценитеDmitry Uvarov  12 October 2007 21:13
 Заценитеp.malyavkin  15 October 2007 08:35
 ЗаценитеDmitry Uvarov  16 October 2007 15:12
 Заценитеemarchenkov  16 October 2007 15:09
 ЗаценитеrxLIMIT  13 October 2007 11:56
 ЗаценитеAib  13 October 2007 09:51
 Re: ЗаценитеRandom_Goodman  12 October 2007 20:33
 
Наш Киев

Apartments for Rent

Rambler's Top100
Рейтинг@Mail.ru
Идея: Dimon aka Manowar Программирование: Dimon aka Manowar Дизайн: Dan Lebedev
Хостинг от компании Parking.ru
Карта сайта