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

Вниз

Работа с базой MS SQL из DLL   Найти похожие ветки 

 
Ярослав   (2005-06-09 09:34) [0]

У кого нибудь есть пример работы с базой MS SQL из DLL через ADO, меня интересует процесс соединения с БД.


 
Ega23 ©   (2005-06-09 09:38) [1]

Через ADOConnection.


 
linesoft ©   (2005-06-09 09:45) [2]

>из DLL
По-моему, нет никакой разницы между dll & exe.
Кроме только того, где в коде прописать инициализацию и коннект.


 
Ярослав   (2005-06-09 10:18) [3]

> Ega23 ©   (09.06.05 09:38) [1]
И что?

> linesoft ©   (09.06.05 09:45) [2]
А где ее прописать?

Меня интересует можно ли из DLL подцепится к ADO Connection главного приложения или нужно в DLL свое соединение создавать?


 
Тучудище   (2005-06-09 10:21) [4]

ADOConnection должен быть доступен и видим для компонентов AdoXXXXXX, вот и подумай что да как...


 
stone ©   (2005-06-09 10:26) [5]


> Меня интересует можно ли из DLL подцепится к ADO Connection
> главного приложения

Можно.


 
Ega23 ©   (2005-06-09 10:27) [6]

И что?

И то. Так и спрашивай в следующий раз: "Как АДОКоннекшн передать в DLL в качестве параметра."

Там как-то с указателем на класс было связано... Сейчас поищщу.


 
Anatoly Podgoretsky ©   (2005-06-09 10:28) [7]

Ярослав   (09.06.05 10:18) [3]
В ДЛЛ свой менеджер памяти м своя RTTI
А религия не позволяет использовать свой ADOConnection с той же самой Connection String


 
linesoft ©   (2005-06-09 10:36) [8]

Ярослав   (09.06.05 10:18) [3]
Я имел в виду отдельный коннект, а раз на то пошло, см. [6].
Если отдельно, брось на форму компонент, или можно добавить модуль.
В вызываемой ф-ии все и делай. Я ж не знаю, что надо в этой длл.


 
Ярослав   (2005-06-09 11:02) [9]

> Anatoly Podgoretsky ©   (09.06.05 10:28) [7]
Не религия, а то, что свой ADOConnection с той же строкой подключения, вызовет еще одно соединение к серверу, а каждое соединение занимает новые ресурсы на сервере, или я не прав? В общем, не хотелось бы создавать новые соединения.
Так получается нельзя передать в DLL ADOConnection приложения?


 
Ega23 ©   (2005-06-09 11:16) [10]

Так, нашёл. Писалось на Delphi 2005.

Это DLL

library mylib;
uses
 SysUtils,
 Classes,
 Dialogs   ,ADODB
 ;

type PadoConnection=^TadoConnection;
{$R *.res}

Function MyFunc(aStr:shortstring; aAdoConnectionPtr:PadoConnection):word; StdCall;
var Aq:TadoQuery;
   ss:string;
begin
Aq:=nil;
try
Aq:=TadoQuery.Create(nil);
Aq.Connection:=aAdoConnectionPtr^;
Aq.SQL.Text:=aStr;
Aq.Open;
ss:=Aq.Fields[0].AsString;
showmessage(ss);
result:=0;
finally
 Aq.Free;aq:=nil;
end;
end;

 exports
   MyFunc;

begin
end.


Это вызов из exe:

function  MyFunc(aStr:shortstring;aConnection:tadoconnection):boolean; StdCall; External "mylib.dll ";

procedure TForm2.bDllClick(Sender: TObject);
begin
MyFunc(ADOQuery1.SQL.Text,@ADOConnection1);
end;




Страницы: 1 вся ветка

Текущий архив: 2005.07.18;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.039 c
8-1111349902
qwertyuiop
2005-03-20 23:18
2005.07.18
DirectDraw.pas чего-то не компилируется в Delhi7


3-1118158793
Alex Romanskiy
2005-06-07 19:39
2005.07.18
Вставка в две таблицы с помощью IBDataSet.


14-1119449626
Cosinus
2005-06-22 18:13
2005.07.18
Господа, кто рботал или работает админом... Подскажите по VPN...


14-1119521618
passlight
2005-06-23 14:13
2005.07.18
Размер пошлин на ввоз иномарки


10-1096905096
Avruk
2004-10-04 19:51
2005.07.18
После закрытия программа остается в списке процессов





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский