ASM и БД

Тема в разделе "WASM.WIN32", создана пользователем yureckor, 6 сен 2004.

  1. yureckor

    yureckor New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2004
    Сообщения:
    494
    Адрес:
    Russia
    Подскажите! Надо прогу для работы с БД.

    Хочу написать на Асме, чтоб маленькая была, да и мне лучше. Что делать- писать все самому (думаю- просмотр listbox'ом, база- текстом) или использовать что нибудь стандартное (что и как?)?
     
  2. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Все зависит насколько сложная задача.

    Если это диплом или курсовая, то можно и так.

    Если же нужна нормальная база, то лучше все-таки

    готовую библиотеку для работы с базами использовать.
     
  3. irvin

    irvin New Member

    Публикаций:
    0
    Регистрация:
    22 авг 2004
    Сообщения:
    14
    Вот маленькая прога может пригодится.

    Может создавать базу, просматривать таблцы, понимат SQL запросы(результат выводит в листбокс). Но работает только с файлами ACCESS.



    [​IMG] _1772684079__odbc.rar
     
  4. yureckor

    yureckor New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2004
    Сообщения:
    494
    Адрес:
    Russia
    Thanx.

    Но все таки, есть ли какой нибудь SQL сервер или еще че-нибудь подобное?
     
  5. APsyL

    APsyL New Member

    Публикаций:
    0
    Регистрация:
    24 фев 2004
    Сообщения:
    8
    Адрес:
    kiev.ua
    Привет, попробуй sqlite, правда я писал при её помощи только на С, там есть готовая библиотека со всеми фу-циями... между прочим, очень быстрая, на сколько я помню её хотели с PHP5 постовлять, как замену обычной mySQL, в работе удобна и все такое.

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

    Может у кого-то есть какой-нибудь перл скрипт, который вытаскивает из Сишных файлов заголовков описание структур...
     
  6. Foamplast

    Foamplast New Member

    Публикаций:
    0
    Регистрация:
    6 ноя 2003
    Сообщения:
    80
    Адрес:
    Russia
    Для определённых приложений намного проще написать свою БД. И как раз именно на асме реализовывать мини-СУБД максимально просто. Напиши примерно, что у тебя за задача, и я скажу, что проще: писать свою СУБД или использовать чужую.
     
  7. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    ассембелр для БД - это не лучший выбор. он не обеспечивает ни компакности, ни скорости, ни легкости отладки... тем более, если база в тексте, то о скорости можно забыть ;)
     
  8. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    kaspersky

    ни кроссплатформенности, ни совместимости с SQL-92, ...



    yureckor



    Прога или БД?
     
  9. yureckor

    yureckor New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2004
    Сообщения:
    494
    Адрес:
    Russia
    Маленькая прога.

    Спасибо всем, я пишу на Асме, авось прорвемся.
     
  10. Zauberer

    Zauberer New Member

    Публикаций:
    0
    Регистрация:
    22 авг 2003
    Сообщения:
    11
    Адрес:
    Russia
    yureckor

    Может, лучше какую-нибудь готовую БД взять? Тот же Access или MySQL? Все-таки, побыстрее будет.

    Тут на сайте есть неплохие тутореалы, как связываться с БД через ODBC - можно попробовать поюзать.

    Правда ODBC-драйвера - далеко не самый быстрый способ доступа - если скорость критична, надо будет писать в обход (переписывать сишные хэдеры).

    Но на текстовой основе.. Это, имхо, совсем плохо.

    ..

    Я вот-вот тоже начну писать прогу, к-я работает с СУБД (MASM). Я выбрал MySQL пока через ODBC..
     
  11. Valentin

    Valentin Member

    Публикаций:
    0
    Регистрация:
    2 ноя 2007
    Сообщения:
    128
    Zauberer

    Я реализовал БД через ODBC на Access.
    Работает все превосходно.
    Но желание есть столкнуться с MySQL.
    У Вас есть какие то наработки??
     
  12. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    yureckor
    Прога в любом случае будет маленькой на асме, если использовать для БД сервер какой-нибудь. Ты просто будешь использовать API БД. В случае sqlite она линкуется к проге либо статически, либо динамически (sqlite.dll). Я б посоветовал именно этот вариант, хотя возможно, что через ODBC проще.
     
  13. BaGiE

    BaGiE New Member

    Публикаций:
    0
    Регистрация:
    27 мар 2005
    Сообщения:
    84
    Адрес:
    Mordor
    А я делал так. Написал на C# Express сборку, которая в качестве доступа к данных использует ADO.NET и в качестве OLEDB поставщика в данном случае будет неважно что использовать. Начиная от MS Jet DB до SQL Native Client и других. Потом прицепил сборку как COM-интерфейс и всё. Юзал IOleDbHelper (так назвал) где надо и из под чего угодно начиная от JS и VBS и кончая асмовыми прогами. Правда пришлось изощряться и вместо выходного объекта типа DataSet\DataTable пришлось парсить и выводить в виде строк или в "сыром" виде как XML :) Если найду сорец, то дам. Вообще ADO рулит :), т.к. унифицированный интерфейс позволяет работать с разными поставщиками и соответственно с совершенно разными СУБД без глобальной переделки приложения. Только не юзайте ODBC драйвера, вроде как сама MS это не рекомендует, а либо OLEDB поставщиков, либо SQLNCLI и т.п. Хотя в данном случае, возможно, самый лучший вариант наверное что то типа sqlite, как тут говорят, но не работал, не знаю.
     
  14. Valentin

    Valentin Member

    Публикаций:
    0
    Регистрация:
    2 ноя 2007
    Сообщения:
    128
    IceStudent
    А sqlite.dll - какое отношение имеет к MySql ?
     
  15. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Valentin
    А кто говорит о MySQL? ТС не уточнял БД.
     
  16. Valentin

    Valentin Member

    Публикаций:
    0
    Регистрация:
    2 ноя 2007
    Сообщения:
    128
    Прекрасно здесь на сайте описан метод работы с файлами ACCESS через ODBC на АСМе.
    Есть ли где описание работы с другими файлами БД??
    Неужели тема высокоскоростных БД на АСМе никого не интересует??
    На Васиках есть все в изобилии. А здесь -ПШИК.
    Ну давайте помогать друг-другу.
     
  17. BaGiE

    BaGiE New Member

    Публикаций:
    0
    Регистрация:
    27 мар 2005
    Сообщения:
    84
    Адрес:
    Mordor
    Если есть пример работы с базами Microsoft Jet, то в чем проблема? Если ODBC (но ODBC фтопку) - юзай другой драйвер доступа к данным. Если OLEDB, то другой поставщик клиента СУБД. Нет почти никакой разницы, особенно, если это реализовано через интерфейсы ADO\DAO - отличается только строка подключения и различный синтаксис SQL-языка конкретной СУБД и её возможности.
     
  18. Valentin

    Valentin Member

    Публикаций:
    0
    Регистрация:
    2 ноя 2007
    Сообщения:
    128
    Да в том то и дело, что меня итнересует не сам SQL язык, а что лучше применить ADO? DAO? , как на практике законнектиться, что работает быстрее?
    Я хочу использовать базу MySql.
    Что на взгляд спецов более подходит для работы с этой базой?
    Я не специалист, если можно, конкретные советы, конкретные примеры.
    Я не спец, но вышеуказанные методы туториала работы с ODBC постиг и работаю с ними достаточно уверенно.
    Может опираясь на них мне смогут объяснить более продуктивные фишки???
     
  19. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Быстрее работают интерфейсы от самой БД (libmysql.dll в случае MySQL). Хотя накладные расходы от высокоуровневых и обобщающих прослоек типа ODBC, ADO и т.п. не очень большие.
     
  20. Valentin

    Valentin Member

    Публикаций:
    0
    Регистрация:
    2 ноя 2007
    Сообщения:
    128
    IceStudent

    А Как правильно законнектиться ч-з ODBC или ADO?

    Т.е. с самого начала:
    1. Подключаем libmysql.ll + lib
    2. Инициализируем.
    3. Теперь коннектимся к самой базе напрямую, или при помощи прослоек ODBC или ADO?
    4. Необходимо дакже и их ДЛЛ-ки подключать??

    Прошу, наведите на путь истинный, если можно с примером. (MASM32)