Рассылка закрыта
При закрытии подписчики были переданы в рассылку "BloggLand и Я | Блоггландия" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
← Январь 2005 → | ||||||
1
|
2
|
|||||
---|---|---|---|---|---|---|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
16
|
17
|
19
|
20
|
21
|
22
|
23
|
|
24
|
26
|
27
|
28
|
29
|
30
|
|
31
|
Статистика
0 за неделю
В тридцать первом выпуске рассылки '.Net Собеседник'
Информационный Канал Subscribe.Ru |
.Net Собеседник #31
Содержание- От автора
- Обзор новостей
- Строим независимые от конкретной БД приложения ASP.NET
- Время кода - Деструктор и метод Dispose
- Форумы .Net на www.sql.ru
От автора
Здравствуйте, коллеги!
Что на самом деле стоит за таким привычным свойством, можно увидеть на примере. А стоит за этим, как мы видим, пара методов для установки/считывания значения поля.
class SimpleProperty
{ static int i; // здесь при компиляции будет выдаваться ошибка, поскольку // эти методы автоматически создаются компилятором при создании свойства // WorkWithI // public int get_WorkWithI() // { // return i; // } // public int set_WorkWithI(int i) // { // this.i = i;return 0; // } public static int WorkWithI { set {i = value;} get {return i;} } } |
Обзор новостей
-
Microsoft
и «Кварта Технологии» объявляют конкурс программ для планшетных ПК
- Планшетные ПК — новая ступень эволюции портативных компьютеров, открывающая перед пользователями широкие горизонты мобильности, удобства и качества работы. Цель конкурса — привлечь внимание разработчиков к новой платформе, позволяющей реализовать в их программах функции, ранее недоступные ни на настольных ПК, ни на ноутбуках. Уникальный форм-фактор, управление интерфейсом при помощи пера, поддержка рукописного ввода и распознавания естественного почерка, развитые коммуникационные функции — все эти особенности планшетных ПК позволяют разработчикам создавать еще более удобные и полезные программы для мобильных пользователей.
- «Корпорация Microsoft стремится стимулировать разработку новых программ для планшетных ПК и адаптацию существующего ПО для полного использования новых возможностей, предоставляемых планшетными ПК и операционной системой Microsoft Windows XP Tablet PC Edition 2005. Мы верим, что российские разработчики внесут достойный вклад в развитие мирового рынка программ для планшетных ПК», — говорит Алексей Чубарь, директор департамента стратегических технологий ООО «Майкрософт Рус».
- Разработка программ для планшетных ПК, работающих под управлением операционной системы Microsoft Windows XP Tablet PC Edition, производится с помощью знакомых разработчикам средств, используемых для создания обычных приложений для Windows, и стандартного SDK (Tablet PC SDK 1.7). Всем участникам, подавшим заявку на конкурс, предоставляется среда разработки Microsoft Visual Studio .NET 2003 Professional. «Выход на рынок Windows XP Tablet PC Edition 2005 с русским интерфейсом и использование программного пакета „Русский пакет расширений для планшетных ПК“ от „Кварта Технологии“ для распознавания слитного русского рукописного ввода позволят разработчикам создавать приложения, ориентированные на российского потребителя, в полной мере использующие все возможности планшетных ПК», — говорит Тарас Демьянков, директор компании «Кварта Технологии».
- Конкурс проводится по трем номинациям:
- новая разработка,
- адаптация существующего ПО,
- мультимедийное приложение или приложение для вертикального рынка.
- Каждая из представленных работ принимается на конкурс только по одной номинации. Авторы самых удачных разработок по каждой из номинаций награждаются призами:
- 1 место — оплата перелета, проживания и участия двух человек в конференции Microsoft Tech-Ed 2005 в Амстердаме 5-6 июля 2005 г.,
- 2 место — два компьютера Tablet PC из представленных на рынке,
- 3 место — занесение в общемировой каталог решений для Tablet PC.
- Участие в конкурсе позволит разработчикам заявить о себе в новом, бурно развивающемся сегменте рынка ПО.
- Получить дополнительную информацию по условиям участия в конкурсе, а также зарегистрироваться для участия можно на сайте www.tablet.ru.
- Вышел Dundas Gauge 1.5 для .NET
- Dundas Software объявила о выходе Dundas Gauge 1.5 для .NET. В версии 1.5 присутствуют интерактивные шкалы для веб, рендеринг во флэш, новый стиль шкалы Knob и т.д.
- Вышел генератор кода/мэппер MyGeneration 1.0
- MyGeneration Software выпустила 100% бесплатный генератор кода и инструмент мэппинга. MyGeneration поддерживает Microsoft SQL, Oracle, IBM DB2, MySQL, PostgreSQL, Microsoft Access, FireBird, Interbase, SQLite и VistaDB.
- Вышла VistaDB 2.0.12
- VistaDB 2.0.12 - движок БД, вышедший с большим количеством улучшений: на 60% меньше объём, необходимый к поставке вместе с приложением (теперь только 400kb), исходники на C# для провайдера ADO.NET, более быстрый доступ к данным на общих сетевых ресурсах, новое демо на C# и VB.NET с исходными кодами, поддержка Delphi 2005 и т.п.
- Вышла новая версия панели eStream PanelBar.NET 1.4
- eStream PanelBar.NET позволяет разработчикам создавать мощные и привлекательные меню для asp.net приложений буквально двумя строчками кода.
- Вышел OraDirect .NET с поддержкой .NET Framework 2.0
- Команда Core Lab объявляет о выходе новой версии провайдера данных OraDirect .NET Data Provider версии 2.50 с поддержкой .NET Framework 2.0, Visual Studio .NET 2005 Beta, Borland Delphi 2005.
- Планшетные ПК — новая ступень эволюции портативных компьютеров, открывающая перед пользователями широкие горизонты мобильности, удобства и качества работы. Цель конкурса — привлечь внимание разработчиков к новой платформе, позволяющей реализовать в их программах функции, ранее недоступные ни на настольных ПК, ни на ноутбуках. Уникальный форм-фактор, управление интерфейсом при помощи пера, поддержка рукописного ввода и распознавания естественного почерка, развитые коммуникационные функции — все эти особенности планшетных ПК позволяют разработчикам создавать еще более удобные и полезные программы для мобильных пользователей.
Строим независимые от конкретной БД приложения ASP.NET
Строим независимые от конкретной БД приложения ASP.NET
ЯЗЫК:
Автор статьи:
Fredrik Ålund
ПЕРЕВОД: Чужа В.Ф. ака hDrummer
КОД К СТАТЬЕ:
MpmWeb.zip (18 024 KB)
В этой статье мы покажем вам как написать независимое от баз данных и провайдеров данных веб-приложение с помощью технологии ASP.Net и ADO.Net, используя новый менеджер поставщиков данных Mimer Provider Manager (MPM).
Почему Mimer Provider Manager?
Браузер БД в виде веб-риложения
Для демонстрации работы с Mpm мы разработали небольшое веб-приложение ASP.NET, использующее Mpm. В этом приложении вы можете выбрать источник данных и просмотреть существующие таблицы. Приложение разработано с помощью языка C#. Архитектура ADO.NET позволяет вам работать с БД в подсоединённом состоянии, либо в отсоединённом. В подсоединённой модели поставщик данных используется для соединения с БД, выполнения команд и получения результатов. В отсоединённой модели используется DataAdapter. Мы также будем выполнять всю работу в основном с его помощью. Однако, мы будем использовать MpmCommand и MpmDataReader для получения списка таблиц БД. Важной частью пользовательского интерфейса являются два ниспадающих списка DropDownLists и одна сетка данных DataGrid.
Для заполнения ниспадающего списка именами БД мы используем класс Mimer.Mpm.Data.Extensions.MpmInfo:
private void Page_Load(object sender, System.EventArgs e)
{ if(!IsPostBack) { dropDownDataSource.DataSource = MpmInfo.DataSourceNames; dropDownDataSource.DataBind(); }} |
Класс MpmInfo используется для получения информации в режиме времени выполнения о системе Mpm, например такой, как доступные источники данных, фильтры SQL и плагины.
private void GetTables(string dataSource)
{ MpmCommand tableCommand = null; MpmConnection mpmConnection = new MpmConnection("Data Source Name=" + dataSource); MpmDataReader reader = null; dropDownTables.Items.Clear(); try { if(mpmConnection.DataSourceDescriptor.DbmsType == MpmDbmsTypes.Oracle) { throw new NotSupportedException("Oracle does not have INFORMATION_SCHEMA by default"); } mpmConnection.Open(); tableCommand = mpmConnection.CreateCommand(); tableCommand.CommandText = "select table_schema, table_name from information_schema.tables where table_type='BASE TABLE'"; reader = tableCommand.ExecuteReader(); ListItem li; while(reader.Read()) { li = new ListItem(reader.GetString(0) + "." + reader.GetString (1), "\"" + reader.GetString(0) + "\"." + "\"" + reader.GetString(1) + "\""); dropDownTables.Items.Add(li); } } catch(MpmException mex) { //Handle the error throw mex; } finally { if(reader != null) { reader.Close(); } if(mpmConnection.State != ConnectionState.Closed) { mpmConnection.Close(); }}} |
Как вы видите, составные, использующие ADO.NET, такие же, как и при использовании любого другого поставщика данных, единственное отличие – упрощенная строка соединения и схема наименования Mpm.
private void dropDownTables_SelectedIndexChanged(object sender,
System.EventArgs e)
{ if(dropDownDataSource.SelectedItem.ToString() != "" && dropDownTables.SelectedItem.ToString() != "") { LoadDataSet(dropDownTables.SelectedItem.Value); DataSet ds = (DataSet)Session["ds"]; Session["tableName"] = dropDownTables.SelectedItem.Value; dataGrid.DataSource = ds.Tables[Session["tableName"].ToString()].DefaultView; dataGrid.Enabled=true; dataGrid.CurrentPageIndex = 0; dataGrid.DataBind(); dataGrid.Visible = true; } } private void LoadDataSet( string tableName) { try { StringBuilder selCmd = new StringBuilder(); string conStr = "Data Source Name=" + dropDownDataSource.SelectedItem.ToString(); MpmConnection mpmConnection = new MpmConnection(conStr); selCmd.Append("select * from "); selCmd.Append(tableName); MpmDataAdapter mpmDataAdapter = new MpmDataAdapter(selCmd.ToString(), mpmConnection); DataSet ds = new DataSet(); mpmDataAdapter.Fill(ds, tableName); Session["ds"] = ds; } catch(MpmException mex) { //Handle the error throw mex; } } |
Итоговый набор данных DataSet хранится в сессии пользователя, поскольку в
приложении мы поддерживаем разбиение на страницы. Вместо пересоздания DataSet
из БД мы просто берём её из сессии пользователя. Это конечно не лучшее решение
при большом количестве пользователей и больших таблицах, поскольку потребует
большого объёма памяти. Поэтому альтернативно можно использовать метод
mpmDataAdapter.Fill(ds, startRecord, maxRecords, tableName).
Время кода
Деструктор и
метод Dispose
ЯЗЫК: C#
АВТОР: Чужа В.Ф., dotnetgrains.sql.ru
Как вы знаете, в C# существует понятие деструктора, не смотря на то, что сборщик мусора автоматически собирает неиспользуемые объекты, удаляя их из памяти (конкретно – из управляемой кучи). Деструктор существует для того, чтобы освобождать ценные ресурсы при уничтожении объекта и вызывается автоматически, если, конечно существует. Для этих же целей существует и метод Dispose, который объявлен в интерфейсе IDisposable, и служащий для унификации имени метода, предназначенного для НЕМЕДЛЕННОГО освобождения тех же ценных ресурсов – в этом его главное отличие от деструктора, вызываемого по милости Сборщика Мусора.
using System;
namespace hDrummer.DestructorAndDispose { class TestDD { [STAThread] static void Main(string[] args) { // если просто создадим объект, // то после завершения исполнения метода // он выйдет за область видимости и при уничтожении // GC будет вызван деструктор DD d = new DD(); // Если вызвать метод Dispose, то объект вызывает dispose немедленно // для освобождения ценных ресурсов // d.Dispose(); Console.ReadLine(); // после отработки метода вызовется и деструктор } class DD :IDisposable { ~DD() { Console.WriteLine("Running destructor"); } #region члены IDisposable public void Dispose() { Console.WriteLine("Running Dispose method"); } #endregion } } } |
На этом всё.
{К содержанию}
Форумы .Net - вопросы оставшиеся без ответа
Problem
with reflection in designer for custom control
Как
настроить IIS версии 6.0 на публикацию asp-страниц?
Что
я делаю нетак (ExecuteOracleScalar)
есть
COM-Object на С++ и клиент JavaScript
две
таблицы Parent-Child и 2 комбобокса - проблема
KeyPreview
Вопрос
по Crystal Reports
перемещение
по DBGrid
На этом тридцать первый выпуск .Net Собеседника закончен.
До следующего номера.
Чужа Виталий Ф. aka hDrummer,
hdrummer@sql.ru - жду ваши предложения и замечания.
http://subscribe.ru/
http://subscribe.ru/feedback/ |
Подписан адрес: Код этой рассылки: comp.soft.prog.dotnetgrains |
Отписаться |
В избранное | ||