Студентам с вопросами о лабораторных работах сюда

Тема в разделе "WASM.BEGINNERS", создана пользователем IceStudent, 11 ноя 2006.

  1. meduza

    meduza New Member

    Публикаций:
    0
    Регистрация:
    15 авг 2008
    Сообщения:
    212
    taksos
    mov word [h_dst],eax
    p.s. у nasm'а прекрасный оф. мануал, есть даже русский перевод где-то в сети. Советую почитать. h_dst - это адрес переменной, чтобы обратится к ней, ее надо "разыменовать", т.е. <size> [h_dst].
     
  2. taksos

    taksos New Member

    Публикаций:
    0
    Регистрация:
    21 дек 2008
    Сообщения:
    23
    Хорошо, спасибо, почитаю.
     
  3. OlechkaA

    OlechkaA New Member

    Публикаций:
    0
    Регистрация:
    25 дек 2008
    Сообщения:
    35
    Помогите, пожалуйста, загрузить текстовый файл (.txt) в базу данных из С++ с помощью ADO.
     
  4. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    OlechkaA
    Если что-то не получается, то помочь всегда рады. ^) А просить сделать бесплатно - не красиво.
     
  5. OlechkaA

    OlechkaA New Member

    Публикаций:
    0
    Регистрация:
    25 дек 2008
    Сообщения:
    35
    А мне не надо сделать всё, я сама хочу понять. Не посоветуете с чего начать?
     
  6. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    OlechkaA
    А знания того же С++ имеются? SQL?
     
  7. OlechkaA

    OlechkaA New Member

    Публикаций:
    0
    Регистрация:
    25 дек 2008
    Сообщения:
    35
    Имеются. И программа с которой это надо делать имеется и ещё имеется три текстовых файла, которые надо загрузить.
     
  8. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Тогда в чём проблема? Читаешь файл, соединяешься с базой, отправляешь ей запрос на вставку новых строк, и усё. ^)
     
  9. OlechkaA

    OlechkaA New Member

    Публикаций:
    0
    Регистрация:
    25 дек 2008
    Сообщения:
    35
    А как сделать соединение с базой?
    Есть вот такой фрагмент.
    Этот фрагмент нашла у JangaMa

    EnterCriticalSection (&gs);
    HRESULT hr;
    CoInitialize(NULL);
    ADODB::_ConnectionPtr connection;
    hr = connection.CreateInstance(__uuidof(ADODB::Connection));
    ADODB::_RecordsetPtr recordset;
    hr = recordset.CreateInstance(__uuidof(ADODB::Recordset));

    if(!SUCCEEDED(hr))
    return 1;

    _bstr_t bsConnString (L"Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=F:\\ТЕКСТ.mdb");
    _bstr_t bsUserID(L"");
    _bstr_t bsUserPwd(L"");
    connection->Open(bsConnString, bsUserID, bsUserPwd, ADODB::adConnectUnspecified);
     
  10. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    OlechkaA
    Можно и так, попробуй заюзать, ежели что будет не так, поможем.
     
  11. OlechkaA

    OlechkaA New Member

    Публикаций:
    0
    Регистрация:
    25 дек 2008
    Сообщения:
    35
    CoInitialize(NULL); - А что делает вот эта строчка?
     
  12. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    OlechkaA
    Тут я бы тебе посоветовал почитать о ком. Ну а в кратце, то ADO реализовано через эту ком технологию, и прежде чем её юзать, её нужно проинициализировать, что CoInitialize(NULL); и делает. После окончания использования, по хорошему нужно вызывать CoUninitialize. http://msdn.microsoft.com/en-us/library/ms678543(VS.85).aspx
    Да, кстати лучше вызывать CoInitializeEx.
     
  13. OlechkaA

    OlechkaA New Member

    Публикаций:
    0
    Регистрация:
    25 дек 2008
    Сообщения:
    35
    А когда у меня получится получить доступ к базе, то она откроется в окошке , так же как и когда я открываю ярлык ACCESS или она как-то по другому будет выглядеть?
     
  14. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Визуально ничего не будет видно, всё произойдёт в тихую. ^)
     
  15. OlechkaA

    OlechkaA New Member

    Публикаций:
    0
    Регистрация:
    25 дек 2008
    Сообщения:
    35
    А как же я определю, что у меня программа открылась?
     
  16. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    OlechkaA
    Доступ к базе осуществляется через драйвер. Access это всего лишь графическая оболочка, которая взаимодействует с драйвером. Ты соединяешься именно с драйвером, и отправляешь ему запросы. Тебе нужно проверять возвращаемые значения функций.

    Код (Text):
    1. HRESULT hr = connection->Open(bsConnString, bsUserID, bsUserPwd, ADODB::adConnectUnspecified);
    2. if(SUCCEEDED(hr))
    3. {
    4.   //Если макрос SUCCEEDED вернул true, значит мы успешно соединились.
    5. }
    Все комовые функции возвращают этот HRESULT.
     
  17. OlechkaA

    OlechkaA New Member

    Публикаций:
    0
    Регистрация:
    25 дек 2008
    Сообщения:
    35
    CString strText =(char *)_bstr_t(var); вот в этой строчке три ошибки!!! :-(((
    Вот, а к базе я подсоединилась как-то, потому что после запуска программы, появляется значок, что база открыта.
     
  18. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Интересно как ты подсоединилась, если там ошибки?
    Приведи код целиком, посмотрим. Если большой то лучше приаттачь.
     
  19. OlechkaA

    OlechkaA New Member

    Публикаций:
    0
    Регистрация:
    25 дек 2008
    Сообщения:
    35
    Ошибки уже в чтении. А что значит приаттачь?
     
  20. Booster

    Booster New Member

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