Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: ADO и Visual C++ 8.0  (Прочитано 10692 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Deatz
Гость
« : 17-06-2008 15:06 » 

Здравствуйте! Вопрос у меня следующий: есть база данных, из которой нужно прочитать таблицу в Visual C++. Видимо, что-то я делаю не так. Требуется открыть файл IP.SHL. Вот текст программы:

int CHardwareConfiguratorDlg::ReadDatabase()
{
HRESULT hr;
CoInitialize(NULL);

try
    {
     ADODB::_ConnectionPtr connection;
     hr = connection.CreateInstance(__uuidof(ADODB::Connection));
     if(FAILED(hr))
        {
         return -1;
        };

     ADODB::_RecordsetPtr recordset;
     hr = recordset.CreateInstance(__uuidof(ADODB::Recordset));
     if(FAILED(hr))
        {
         return -1;
        };

     connection->CursorLocation = ADODB::adUseClient;

     connection->Open("IP",
                      "",
                      "",
                      ADODB::adConnectUnspecified);

     connection->Open(L"Provider=sqloledb;Data Source=fifa;"
     L"Initial Catalog=test;User Id=testsa;Password=testsa;", L"",
     L"", ADODB::adConnectUnspecified);

     recordset->Open("CREATE TABLE mytable (value NVARCHAR(255))",
     connection.GetInterfacePtr(), ADODB::adOpenForwardOnly,
     ADODB::adLockReadOnly, ADODB::adCmdText);

     recordset->Open("INSERT INTO mytable VALUES ('Hello')",
     connection.GetInterfacePtr(), ADODB::adOpenForwardOnly,
     ADODB::adLockReadOnly, ADODB::adCmdText);

     recordset->Open("INSERT INTO mytable VALUES ('Goodbye')",
     connection.GetInterfacePtr(), ADODB::adOpenForwardOnly,
     ADODB::adLockReadOnly, ADODB::adCmdText);

     recordset->Open("SELECT * from mytable",
     connection.GetInterfacePtr(),
     ADODB::adOpenForwardOnly, ADODB::adLockReadOnly,
     ADODB::adCmdText);

     recordset->Close();
     recordset->Open("DROP TABLE mytable", connection.GetInterfacePtr(),
     ADODB::adOpenForwardOnly, ADODB::adLockReadOnly,
     ADODB::adCmdText);
    }
catch(_com_error &e)
    {
     return -1;
    }
catch(...)
    {
     return -1;
    };

return 0;
};
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #1 : 17-06-2008 15:41 » 

Deatz, если бы ты ещё написал в чём ошибка - те полностью задал вопрос, то шансы на ответ сильно возросли бы.
Код оно конечно хорошо, но только на след. этапе.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Deatz
Гость
« Ответ #2 : 17-06-2008 18:35 » 

Я не врубаюсь в SQL... Не понимаю, каким образом мне открыть конкретный файл. Текст программы взят из примера, каких сотни, но рассчитан пример был на продвинутого в SQL пользователя. На строке connection->Open ... выбрасывается исключение "не удаётся подключиться к указанному серверу". Какой SQL-код я должен передать, чтобы открылся файл IP.SHL

Сформулировал я действительно предельно неудачно, торопился... Здесь весь вопрос по SQL.
Записан
Malaja
Команда клуба

de
Offline Offline
Пол: Женский

« Ответ #3 : 18-06-2008 09:56 » 

Deatz,

а у тебя в этой строке
Код:
 
connection->Open(L"Provider=sqloledb;Data Source=fifa;"
     L"Initial Catalog=test;User Id=testsa;Password=testsa;", L"",
     L"", ADODB::adConnectUnspecified);

все соответствует действительности?
Записан

холоднокровней, Маня, Ви не на работе
---------------------------------------
четкое определение сущности бытия:
- А мы в прошлом или в будущем?- спросила Алиса.
- Мы в жопе, - ответил кролик.
- А "жопа" - это настоящее? - спросила Алиса.
- А "жопа" - это у нас символ вечности.
AndreyCh
Интересующийся

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 02-08-2008 20:27 » new

а хто такой - *.shl ?
как зовут провайдера?
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines