Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.52 MB
Время: 0.035 c
14-1081716502
Flat
2004-04-12 00:48
2004.05.02
как скачать файл?


1-1082287224
ASvencim
2004-04-18 15:20
2004.05.02
Как внести изменения в реестр?


3-1080889758
ВадимВС
2004-04-02 11:09
2004.05.02
Ошибка BDE для PDOXUSRS.NET под Win-2000


1-1082039221
Василя
2004-04-15 18:27
2004.05.02
Принцип загрузки ярлычка из ресурсов exe Windows.


1-1082030140
Layner
2004-04-15 15:55
2004.05.02
Как увеличить размер 2х мерного массива на 1 строку?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский