|
|
|
ADODB.Recordset и .NET контролы
|
|||
|---|---|---|---|
|
#18+
Вот интересно: все до зеленых соплей прям обрадовались технологии ADO.NET ? Она всех устраивает, она офигенски удобна? (Особенно, когда надо работать напрямую с таблицей). Или я один такой отщепенец, которого эти гребанные datatable бесят? Неужели за столько лет существования .NET никто не написал класс - обертку для ADODB.Recordset, чтобы можно было напрямую работать с рекордсетом через .NET контролы ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2009, 22:29 |
|
||
|
ADODB.Recordset и .NET контролы
|
|||
|---|---|---|---|
|
#18+
Вы отстали от жизни, имхо. datatable - это далеко не единственное, что есть в ADO.NET ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2009, 10:55 |
|
||
|
ADODB.Recordset и .NET контролы
|
|||
|---|---|---|---|
|
#18+
Бесполезный ответ. Перечислите, что есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2009, 12:47 |
|
||
|
ADODB.Recordset и .NET контролы
|
|||
|---|---|---|---|
|
#18+
Очень интересно. Особенно интересно сравнить время разработки (тупо в строчках кода), скорость работы с большими массивами данных (ну, например, массовое обновление записей этак 600т -800т) Ну и возможность работы на слабых машинах, конечно (например на целеронах и с 2000 виндами) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2009, 13:46 |
|
||
|
ADODB.Recordset и .NET контролы
|
|||
|---|---|---|---|
|
#18+
Тем более насколько я понимаю, все эти ORMы и строятся на ADO.NET ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2009, 14:03 |
|
||
|
ADODB.Recordset и .NET контролы
|
|||
|---|---|---|---|
|
#18+
В общем, не обнаружив никаких вариантов конвертера ADO для .NET форм, я написал свой. Фактически, пришлось написать небольшую обертку для класса ADODB, чтобы его "понимали" формы. Получилось неплохо, все работает. 8) Понятно, что вариант еще сырой и есть глюки, но я их потихоньку вычищаю. Выкладывать сюда не буду, раз никому не надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2009, 14:29 |
|
||
|
ADODB.Recordset и .NET контролы
|
|||
|---|---|---|---|
|
#18+
krudensoftВ общем, не обнаружив никаких вариантов конвертера ADO для .NET форм, я написал свой.Делать ну совсем нечего? Ты в ADO.NET успел разобраться, прежде чем за интероп браться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2009, 16:50 |
|
||
|
ADODB.Recordset и .NET контролы
|
|||
|---|---|---|---|
|
#18+
Это еще мелочи.Ребята переходят на Ахапту и пытаются сделать кальку 1С ее средствами!!! krudunsoft, зачем менять средство разработки,если подходы остаются старые? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2009, 17:17 |
|
||
|
ADODB.Recordset и .NET контролы
|
|||
|---|---|---|---|
|
#18+
Нахлобуч, С ADO.NET работаю уже три года. Есть большой проект, писаный с нуля и работающий в нескольких фирмах. И всю подноготную ADO.NET знаю достаточно хорошо, чтобы понимать, о чем говорю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2009, 22:22 |
|
||
|
ADODB.Recordset и .NET контролы
|
|||
|---|---|---|---|
|
#18+
SeVa, А зачем менять подходы, если они себя оправдали и исправно дают доход? Революция - не значит хорошо. Уж пора бы это понимать. Да и 1С в своем сегменте достаточно хороша, нечего ее пинать. Вопрос в том, что в моем деле мне нужно получать результат _быстро_ Мне современный подход микрософт с бизнес-объектами напоминает идеологию бульдозера от ИКЕА: набор ящиков с детальками и кусками железа и подробнейшая инструкция. Да, конечно, если эго собрать, заправить солярой, научиться управлять им, то можно выкопать ОГРОМНУЮ ЯМУ. Вот только нафига мне огромная яма? Мне бы траншею 2х2 метра вырыть для колодца. И вот я смотрю на эти ящики и вижу рядом лопату. Обычную, потертую, немного ржавую лопату, про которую все забыли, бросившись собирать икеевские экскаваторы. Беру ее и выкапываю эту яму. И тут начинаю прикидывать. До этого я собрал несколько экскаваторов, чтобы вырыть такие же ямы, но времени то заняло это гораздо больше. Вот и возник у меня вопрос: а может, ну его, этот фуфел от ИКЕи, лопатой-то удобнее? 8)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2009, 22:33 |
|
||
|
ADODB.Recordset и .NET контролы
|
|||
|---|---|---|---|
|
#18+
Нахлобуч, > Ты в ADO.NET успел разобраться, прежде чем за интероп браться? Бугага. А ты думаешь, мог бы я написать свою обертку, не понимая как устроен ADO.NET и как взаимодейтсвуют контролы с данными? 8))) Это все пока голословно, конечно, ведь dll я пока не выложил. Просто сначала ее доведу до ума (напишу коммерческое приложение с ее использованием), а потом и выложу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2009, 22:38 |
|
||
|
ADODB.Recordset и .NET контролы
|
|||
|---|---|---|---|
|
#18+
И что из себя представляют твои экскаваторы, если на лопату потянуло? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2009, 22:38 |
|
||
|
ADODB.Recordset и .NET контролы
|
|||
|---|---|---|---|
|
#18+
SeVa, Первое приложение - софт для гипера. Приходы, расходы, остатки, кассовые операции, взаимодействие с ЦО и оборудованием (кассы, весы, сканеры ШК, принтеры печати этикеток, удаленные терминалы) Работа с данными решена почти в упор - есть класс, включающий в себя датаадаптер, датасет и набор методов, позволяющий как загружать, так и сохранять данные через хранимые процедуры. В принципе, неплохо получилось, но некоторые вещи (например, ведение небольших справочников, просмотр больших справочников, фильтрация и непосредственое отражение данных на серваке) - жутко неудобно по сравнению с ADO. Все это конечно решено, но объем кода... он ОГРОМЕН. Далее вариации этого приложения, плавно сваливаясь в полностью объектное программирование. (т.е. каждый чих в базе, каждый элемент справочника - объект ну и т.д.) Да, что-то удобнее, но объем кода вырос еще в несколько раз. И сейчас - софт для центрального офиса. Тут конечно объем работ и сам по себе огромный. Плюс описалово каждого чиха, плюс тесты, плюс xml схемы объектов... И тут я понимаю, что на каждую строчку кода, который несет в себе смысл, я пишу 49 строк кода, которые смысла не несут вообще. Обертки, обвязки, обмотки, всяческие автосгенерированные классы и т.п. Ясное дело, что эти проекты я пишу не один (если быть точным - первый написали вдвоем, остальные - пишем втроем) но я участвовал во всех этапах и прекрастно понимаю, о чем говорю Конечно, написать -то мы напишем и будет работать, и как всегда будет работать хорошо, но я ленив. 8) Хочется легких путей. А у микрософта все как в сказке - чем дальше, тем страшнее... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2009, 22:53 |
|
||
|
ADODB.Recordset и .NET контролы
|
|||
|---|---|---|---|
|
#18+
Как я понял, страху вы себе сами нагнали.У нас каждый программист просто обязан написать свои классы, обвертки и тд.Есть кодегераторы и готовые библиотеки,все генерится на автомате ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2009, 23:17 |
|
||
|
ADODB.Recordset и .NET контролы
|
|||
|---|---|---|---|
|
#18+
SeVaЭто еще мелочи.Ребята переходят на Ахапту и пытаются сделать кальку 1С ее средствами!!! Знаю я одну конторку в Москве, любящую аксапту... особенно мне нравиться как они работают и что у них получается, когда в магазинчике с 10 кассами стоит 3 полноценных сервера штук за 10 баксов каждый и 20 рабочих мест 8))). А мне надо, чтобы на 40 касс было одно(хорошо, три) рабочих места и база крутилась на машине не выше Core Duo с 2 гб памяти. Фантастика? Нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2009, 23:18 |
|
||
|
ADODB.Recordset и .NET контролы
|
|||
|---|---|---|---|
|
#18+
SeVaКак я понял, страху вы себе сами нагнали.У нас каждый программист просто обязан написать свои классы, обвертки и тд.Есть кодегераторы и готовые библиотеки,все генерится на автомате Обязан написать? А зачем? Тем более каждый программист. Кодегенераторы - хорошо, до тех пор, пока сгенерированый код не надо поправить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2009, 23:20 |
|
||
|
ADODB.Recordset и .NET контролы
|
|||
|---|---|---|---|
|
#18+
авторА зачем? Хороший вопрос.Спроси у себя сам. авторКодегенераторы - хорошо, до тех пор, пока сгенерированый код не надо поправить. Мне повезло,хороший кодогенератор попался,ничего править не приходится. авторА мне надо, чтобы на 40 касс было одно(хорошо, три) рабочих места и база крутилась на машине не выше Core Duo с 2 гб памяти. Фантастика? Нет. Для Core Duo и 400 не фантастика, без всяких дополнительных рабочих мест ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 09:26 |
|
||
|
ADODB.Recordset и .NET контролы
|
|||
|---|---|---|---|
|
#18+
SeVa Хороший вопрос.Спроси у себя сам. Вот я и спрашиваю... Достойного ответа пока нет SeVaМне повезло,хороший кодогенератор попался,ничего править не приходится. Очевидно, тебе не приходилось сталкиваться с задачами, требующими частого изменения алгоритмов (например, из-за законодательства) авторДля Core Duo и 400 не фантастика, без всяких дополнительных рабочих мест Ну-ка дай ссылку на такую программу 8) И чтобы отчетность сводили в ней день-в-день ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 09:57 |
|
||
|
ADODB.Recordset и .NET контролы
|
|||
|---|---|---|---|
|
#18+
krudensoftРабота с данными решена почти в упор - есть класс, включающий в себя датаадаптер, датасет и набор методов, позволяющий как загружать, так и сохранять данные через хранимые процедуры.А ведь стоило всего-то немного подумать : Код: plaintext 1. 2. 3. 4. 5. 6. 7. krudensoft В принципе, неплохо получилось, но некоторые вещи (например, ведение небольших справочников, просмотр больших справочников, фильтрация и непосредственое отражение данных на серваке) - жутко неудобно по сравнению с ADO."Неудобно" -- это детский сад. Что конкретно не устраивает? Более чем уверен, что это все от незнания ADO.NET и прочего. krudensoftВсе это конечно решено, но объем кода... он ОГРОМЕН. Далее вариации этого приложения, плавно сваливаясь в полностью объектное программирование. (т.е. каждый чих в базе, каждый элемент справочника - объект ну и т.д.) Да, что-то удобнее, но объем кода вырос еще в несколько раз.См. выше. krudensoftИ тут я понимаю, что на каждую строчку кода, который несет в себе смысл, я пишу 49 строк кода, которые смысла не несут вообще.А ты не пиши код, который не имеет смысла -- только и всего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 10:33 |
|
||
|
ADODB.Recordset и .NET контролы
|
|||
|---|---|---|---|
|
#18+
НахлобучА ведь стоило всего-то немного подумать : Код: plaintext 1. 2. 3. 4. 5. 6. 7. И что этот пример доказывает? Комменты в студию Нахлобуч"Неудобно" -- это детский сад. Что конкретно не устраивает? Не устраивает объем кода, необходимый для начала работы, например, со списком (неважно, каким, просто селект из таблицы) Причем не только загрузить и показать, но и при изменении значения, скажем, в гриде сразу автоматически отражать его в таблице на сервере Неудобно тянуть все на клиента, если например большая номенклатура. Неудобно делать фильтры на обновляемых списках. Ссылка - незачет. Три года назад они только начали Вообще, технология ОРМ пока слишком сырая. Подожду, пока микрософт включит что-нибудь такое в состав SQL Server. Пока все это крутится на клиентской машине, о нормальной скорости говорить нельзя. Нахлобуч Более чем уверен, что это все от незнания ADO.NET и прочего. Интерестная точка зрения. Ну-ка раскажи, что я должен знать об ADO.NET 8) Нахлобуч А ты не пиши код, который не имеет смысла -- только и всего. Хорошее пожелание. Мусорный код (не имеющий смысла для _для пользователя_) - это код, не работающий для пользователя. Расчет себестоимости при отгрузке накладной - это код имеющий смысл. А вот классы, которые занимаются приемом\передачей данных в SQL (ADO.NET) - это мусор, так как пользователю пофиг, как его данные попадают на сервер. Классы бизнес-обьектов - мусор, т.к. опять же пользователю все равно, как программист хранит данные внутри программы. И даже всеми горячо любимая религия юнит-тестов - опять же мусорный код, т.к. до пользователя он вообще не дойдет. Этот код все же нужен, но далеко не в тех объемах, в каких его применяют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 11:23 |
|
||
|
ADODB.Recordset и .NET контролы
|
|||
|---|---|---|---|
|
#18+
krudensoftИ что этот пример доказывает?Он доказывает несостоятельность твоего утверждения про кучу кода. Как видишь, создать соединение, установить параметры хранимки/ad-hoc запроса, выполнить запрос и залить результаты в массив объектов можно в 6 строк кода. krudensoftНе устраивает объем кода, необходимый для начала работы, например, со списком (неважно, каким, просто селект из таблицы) Опять же: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. krudensoft Причем не только загрузить и показать, но и при изменении значения, скажем, в гриде сразу автоматически отражать его в таблице на сервереНезнание матчасти. ADO.NET и все его DataTable'ы -- disconnected-модель. krudensoft Неудобно тянуть все на клиента, если например большая номенклатура. Неудобно делать фильтры на обновляемых списках. Про "неудобно" я уже говорил. krudensoftСсылка - незачет. Три года назад они только началиКто чего начал? krudensoftВообще, технология ОРМ пока слишком сырая. Подожду, пока микрософт включит что-нибудь такое в состав SQL Server. Пока все это крутится на клиентской машине, о нормальной скорости говорить нельзя.Глупость-то какая. Что тут можно "включить в состав SQL Server"? Как связано быстродействие и ORM? krudensoftА вот классы, которые занимаются приемом\передачей данных в SQL (ADO.NET) - это мусор, так как пользователю пофиг, как его данные попадают на сервер.Их за тебя уже написали. Бери и пользуйся. krudensoftКлассы бизнес-обьектов - мусор, т.к. опять же пользователю все равно, как программист хранит данные внутри программы. Пользуйся DataTable'ами и DataSet'ами -- никто тебе руки не выкручивает. krudensoftИ даже всеми горячо любимая религия юнит-тестов - опять же мусорный код, т.к. до пользователя он вообще не дойдет. Не пиши. Только не плакайся, когда у тебя будут регрессионные ошибки вылезать изо всех щелей. Или когда задумаешь свои DataTable'ы порефакторить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 11:46 |
|
||
|
ADODB.Recordset и .NET контролы
|
|||
|---|---|---|---|
|
#18+
авторОчевидно, тебе не приходилось сталкиваться с задачами, требующими частого изменения алгоритмов (например, из-за законодательства) Для use-case должны быть отдельные сущности, максимум, что должна содержать модель - валидация данных в partial. авторНу-ка дай ссылку на такую программу Могу написать(сейчас как раз проект заканчивается), опыть есть. авторИ чтобы отчетность сводили в ней день-в-день Это тоже из области фантастики? авторМусорный код (не имеющий смысла для _для пользователя_) А пользователи тут причем?Какое они имеют отношение к коду? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 11:47 |
|
||
|
ADODB.Recordset и .NET контролы
|
|||
|---|---|---|---|
|
#18+
SeVaМогу написать(сейчас как раз проект заканчивается), опыть есть. Напиши 8) SeVaЭто тоже из области фантастики? Как показывает практика, да. Сеть магазинов на той же 1С получает остатки дай бог через месяц. SeVaА пользователи тут причем?Какое они имеют отношение к коду? Ага. Вот теперь мне все понятно. Пишем чисто из академического интереса? Программирование для программиста? При чем тут пользователь - конечно ни при чем. 8) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 12:36 |
|
||
|
ADODB.Recordset и .NET контролы
|
|||
|---|---|---|---|
|
#18+
НахлобучОн доказывает несостоятельность твоего утверждения про кучу кода. Как видишь, создать соединение, установить параметры хранимки/ad-hoc запроса, выполнить запрос и залить результаты в массив объектов можно в 6 строк кода. А с помошью моего класса можно это сделать в одну строку. Выигрыш в 6 раз? 8) Me.DataGridView1.DataSource = new kRecordset("select * from Table", ADOCurrent.Connection, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic) Ты предлагаешь мне использовать то, на что ты дал ссылку? Вообще есть хоть один большой коммерческий проект, написаный с использованием этого? НахлобучОпять же: [src c#]public abstract ... Это только селект? Селект я могу и обычным датаадаптером (вариации: скулкоманд, датаридер) сделать, не применяя софт сторонних разработчиков. Нахлобуч Незнание матчасти. ADO.NET и все его DataTable'ы -- disconnected-модель. Учись читать внимательней. Нахлобуч Про "неудобно" я уже говорил. Без комментариев НахлобучКто чего начал? См. свою ссылку. Главная страница. Даты и версии. НахлобучГлупость-то какая. Что тут можно "включить в состав SQL Server"? Как связано быстродействие и ORM? Действительно, никак не связаны. 8) Пишем программы для самоудовлетворения? Или все же для пользователей? Нахлобуч krudensoft А вот классы, которые занимаются приемом\передачей данных в SQL (ADO.NET) - это мусор, так как пользователю пофиг, как его данные попадают на сервер. Их за тебя уже написали. Бери и пользуйся. Чего-то не очень хочется. Читаю форум. Восторгов не наблюдаю. Лучше я свой мусор поюзаю, чем разгребать ошибки в чужом. 8) НахлобучПользуйся DataTable'ами и DataSet'ами -- никто тебе руки не выкручивает. Цитирую: Нахлобуч Незнание матчасти. ADO.NET и все его DataTable'ы -- disconnected-модель. Вспомним начало: вопрос в том, нужен ли кому-то простой механизм работы с данными ADODB.Recordset, прикрученый к .NET формам. НахлобучНе пиши. Только не плакайся, когда у тебя будут регрессионные ошибки вылезать изо всех щелей. Или когда задумаешь свои DataTable'ы порефакторить. Читаем ниже: Этот код все же _нужен_, но далеко не в тех объемах, в каких его применяют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 13:08 |
|
||
|
|

start [/forum/topic.php?fid=17&fpage=70&tid=1351772]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
19ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 280ms |

| 0 / 0 |
