Текущий архив: 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.04 c