Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.02;
Скачать: CL | DM;

Вниз

создание 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;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.024 c
11-1066285533
Ал
2003-10-16 10:25
2004.05.02
KOL-программа вызывает ошибку Explorer-а


14-1081857543
WELLiON
2004-04-13 15:59
2004.05.02
файл-менеджер


3-1080789254
User_OKA
2004-04-01 07:14
2004.05.02
Проблема с Interbase


14-1081426922
TUser
2004-04-08 16:22
2004.05.02
Определитель матрицы


14-1081849758
RealRascal
2004-04-13 13:49
2004.05.02
Как хранить большие логичесике матрицы?