Главная страница
    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.029 c
8-1111300604
dimon__
2005-03-20 09:36
2005.07.18
Как получить изображение с web -камеры!


1-1120212706
AbrosimovA
2005-07-01 14:11
2005.07.18
Как быстро выводить ChildItems из TreeView в ListView


1-1119788329
начинающий
2005-06-26 16:18
2005.07.18
Как определить, пуста ли определенная папка?


1-1119963027
harisma
2005-06-28 16:50
2005.07.18
Как сделать хинты для TTreeNode в TTreeView


3-1118232939
vitge
2005-06-08 16:15
2005.07.18
Разработка БД для PALMа





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