Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.06.2008, 19:04   #1
Deatz
 
Регистрация: 06.05.2008
Сообщений: 4
По умолчанию ADO и Visual C++ 8.0

Здравствуйте! Вопрос у меня следующий: есть база данных, из которой нужно прочитать таблицу в 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;
};
Используйте тег <CODE>

Последний раз редактировалось merax; 17.06.2008 в 19:32.
Deatz вне форума Ответить с цитированием
Старый 17.06.2008, 22:36   #2
Deatz
 
Регистрация: 06.05.2008
Сообщений: 4
По умолчанию

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

Сформулировал я предельно неудачно, торопился... Здесь весь вопрос по SQL.
Deatz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Visual c++ 2005 и Visual c++ 6 это разные версии или нет? Руслантус Свободное общение 3 30.11.2007 19:42
Visual J# from Microsoft Visual Studio .NET Flash_ Общие вопросы по Java, Java SE, Kotlin 2 28.12.2006 10:16