Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.07.18;
Скачать: [xml.tar.bz2];

Вниз

Работа с базой 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.047 c
1-1119508806
Grief
2005-06-23 10:40
2005.07.18
иконка у dll


1-1119895324
Demonix
2005-06-27 22:02
2005.07.18
Обработка одного файла, создание другого на его основе.


8-1110745845
-=DeMoH=-
2005-03-13 23:30
2005.07.18
Нарисовать объект по формулам в OpenGL!


3-1118308515
desha
2005-06-09 13:15
2005.07.18
Dll и базы данных.


1-1119791330
heady
2005-06-26 17:08
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский