Форум: "Базы";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
Внизсоздание TADOConnection Найти похожие ветки
← →
kat (2004-04-02 13:01) [0]Пытаюсь динамически создать TADOConnection.
На строке DB_ADO := TADOConnection.Create(Nil);
возникает ошибка класса EOleSysError с сообщением "Не был произведен вызов CoInitialize"
Почему возникает ошибка?
← →
JibSkeart © (2004-04-02 13:05) [1]попробуй сначала
OleInitialize(nil);
...
OleUnInitialize;
Хотя ...
← →
sniknik © (2004-04-02 13:12) [2]CoInitialize(nil)
...
CoUnInitialize()
← →
kat (2004-04-02 13:19) [3]CoInitialize(nil)
...
CoUnInitialize()
а какой модуль надо подключить для использования этих функций?
← →
JibSkeart © (2004-04-02 13:19) [4]зыы ... я что то совсем сегодня :)
← →
JibSkeart © (2004-04-02 13:20) [5]ComObj вроде бы для работы с КОМ
а воообще вы что с Dll что то творите ?
← →
Delirium © (2004-04-02 13:41) [6]"а какой модуль надо подключить для использования этих функций" - ActiveX
← →
kat (2004-04-02 13:46) [7]Delirium ©
спасибо
← →
kat (2004-04-02 14:38) [8]в продолжении....
создала TADOConnection
CoInitialize(nil);
DB_ADO := TADOConnection.Create(nil);
DB_ADO.ConnectionString := "Provider=MSDASQL.1;Persist Security Info=False;Data Source=Access_DB";
DB_ADO.LoginPrompt := false;
DB_ADO.Open;
создала запрос
qMain := TADOQuery.Create(nil);
qMain.Connection := DB_ADO;
пытаюсь в запросе выполнить insert получается ошибка - access violation в msado15.dll
что опять ен доделала???
← →
kat (2004-04-02 14:59) [9]?
← →
Johnmen © (2004-04-02 15:04) [10]>пытаюсь в запросе выполнить insert
Как ?
← →
sniknik © (2004-04-02 15:07) [11]> Как ?
+
DSN в ODBC точно рабочий?
← →
kat (2004-04-02 15:16) [12]qMain.Close;
qMain.SQL.Clear;
qMain.SQL.Add("Insert into ?? (???, ???, ???, ?????, ????, ???????, ????????, ????????????????,");
qMain.SQL.Add(" ?????, ?????, ???, ??????,");
qMain.SQL.Add(" ????????, ?????, ??????, ?????, ID_Oracle)");
qMain.SQL.Add(" values (" + formatString(Name) + ", " +
formatString(INN) + ", " +
formatString(KPP) + ", " +
formatString(OKONX) + ", " +
formatString(OKPO) + ", " +
formatString(Phone) + ", " +
formatString(Dir) + ", " +
formatString(Bux) + ", " +
IntToStr(IDCity) + "," +
IntToStr(IDStreet) + "," +
formatString(House) + "," +
formatString(Korp) + ", "+
formatString(Flat) + ", " +
sReg + ", " +
sUnreg + ", " +
IntTostr(FS) + ", " +
IntToStr(IDOracle) +
")");
qMain.Prepared := true;
qMain.ExecSQL;
← →
kat (2004-04-02 15:17) [13]точно рабочий
если создать конест и запрос не динамически, а бросить на форму компоненты
и выполнить этот запрос - все нормально проходит
← →
sniknik © (2004-04-02 15:19) [14]с ума сошла(ол), все спош рускими буквами? на 90% ошибка в этом.
переделай на латиницу,
← →
Delirium © (2004-04-02 15:19) [15]????? - это наверное русские буквы? Если так - надо всё брать в [ ]. Т.е. Insert into [??] ([???], [???], ...
← →
Johnmen © (2004-04-02 15:26) [16]+ все указанные поля числовые ??? :)))
← →
kat (2004-04-02 15:31) [17]латинница
я бы так и никогда не сделала, но это наследство не переделать все сразу, потихоньку отходим,
поставила [] - не помогает
← →
kat (2004-04-02 15:34) [18]поля не числовые все , кавычки добавляет функция formatstring
← →
kat (2004-04-02 15:37) [19]select в запросе выпоняется
а вот insert никак:((((
почему?
← →
sniknik © (2004-04-02 15:41) [20]вариант - запрос правильный, неопределена/неинициализирована какаято из переменных...
они у тебя именно так и стоят как здесь, или есть чтото вроде
IntToStr(Form2.IDCity) ? или в строках " или " присутствует.
приведи результирующий запрос что получается от этих преобразований (точку останова на qMain.ExecSQL; поставь и скопируй из отладчика)
← →
kat (2004-04-02 15:48) [21]запрос получается нормальный
взяла попроще табличку
получился такой запрос
Insert into Город (Название) Values ("Абрютино")
← →
kat (2004-04-02 15:49) [22]как будто что-то не создала
раз Access vialation возникает
← →
Delirium © (2004-04-02 15:56) [23]Странно, может версию ADO обновить... http://www.microsoft.com/downloads/details.aspx?FamilyID=6c050fe3-c795-4b7d-b037-185d0506396c&DisplayLang=en
← →
bushmen © (2004-04-02 16:00) [24]А кто "Название" будет в кавычки брать?
INSERT INTO [Город]([Название]) VALUSE("Абрютино")
Да, и еще, какая БД у Вас? Если MS SQL, то проверьте на базе у Вас стоит CS или CI
← →
kat (2004-04-02 16:04) [25]база - microsoft access
брала и в [] - результата никакого
← →
bushmen © (2004-04-02 16:12) [26]>если создать конест и запрос не динамически, а бросить на форму >компоненты
>и выполнить этот запрос - все нормально проходит
Это каким образом - из dbGrid"a вводите или значения из компонентов берете? Если 2, то значит, что-то в запросе неверно.
← →
sniknik © (2004-04-02 16:48) [27]kat (02.04.04 16:04) [25]
> база - microsoft access
> брала и в [] - результата никакого
чтото явно не так, но не в показаном коде, сам также делаю (единственное не TADOQuery а TADODataSet/TADOCommand) и ничего работает хоть статически создано хоть динамически. с тем же access / mssql.
а ну да, еще провайдера стараюсь OLEDB-шного использовать а не ODBC тем более через DSN.
← →
sniknik © (2004-04-02 16:53) [28]кстати Prepared можно убрать, параметров у тебя все одно нету.
← →
kat (2004-04-02 16:58) [29]в запросе все верное
обновила ADO и стало все работать:)) но 2.8 не у всех пользователей будет, вот это жаль
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.031 c