powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Создание ADO Connection ?
14 сообщений из 14, страница 1 из 1
Создание ADO Connection ?
    #32299620
Фотография Nrisimha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В VB6.0 Создание ADO Connection - очень просто:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Option Explicit

Const strAccessFile As String =  "" & _
    " Provider= " & _
    " MSDataShape. 1 ;Persist Security Info=False;Mode=ReadWrite; " & _
    " Data Source= " & _
        " d:\veda_ram\lnk_OS_ADM.mdb;Data Provider=MICROSOFT.JET.OLEDB. 4 . 0 "

Public veda2000 As ADODB.Connection

Public Sub db_Open()
   Set veda2000 = New ADODB.Connection
   veda2000.ConnectionString = strAccessFile
   veda2000.Open
End Sub


Как тоже самое сделать в DELPHI ????
...
Рейтинг: 0 / 0
Создание ADO Connection ?
    #32299629
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В дельфи не надо писать ничего, ложи на форму компонент TADOConnection, устанавливай свойства и затем свойство Connected в TRUE.
...
Рейтинг: 0 / 0
Создание ADO Connection ?
    #32299659
Малиновский Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
var ADOConnect : TAdoConnection;

...
begin
...
ADOConnect := TAdoConnection.Create(Self);
with ADOConnect do begin
ConnectionString =
'Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=C:\Program Files\Borland\Delphi7\Projects\TestAdo\db1.mdb;Mode=Share Deny None;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False ';
LoginPronpt = False;
...
end;




end
...
Рейтинг: 0 / 0
Создание ADO Connection ?
    #32299708
ZrenBy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-нибудь типа этого

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
type CADOConnection = class
  private
    FConnection : _Connection;
    FConnString : WideString;
    ...
  public
    constructor   Create;
    procedure     Open(Username,Password:WideString);
    ...
end;

constructor CADOConnection.Create;
begin
  inherited Create;
  FConnection := CoConnection.Create;
  FConnection.CommandTimeout :=  30 ;
  FConnection.IsolationLevel := adXactReadCommitted;
  FConnection.CursorLocation := adUseClient;
  FConnection.Attributes     :=  0 ;
end;

procedure CADOConnection.Open(Username,Password:WideString);
begin
  FConnection.Open(FConnString,Username,Password,Integer(adConnectUnspecified));
end;
...
Рейтинг: 0 / 0
Создание ADO Connection ?
    #32302210
Фотография Nrisimha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не работает , вот как я пробовал:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1},
  uADO_Cnn in 'uADO_Cnn.pas';

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB;

type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
uses
  uADO_Cnn;

end.


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
unit uADO_Cnn;

interface

uses
 DB, ADODB;

type CADOConnection = class
  private
    FConnection : _Connection;
    FConnString : WideString;
  public
    constructor   Create;
    procedure     Open(Username,Password:WideString);

end;



implementation

constructor CADOConnection.Create;
begin
  inherited Create;
  //FConnection := CoConnection.Create;
  FConnection.CommandTimeout :=  30 ;
  Fconnection.ConnectionString := '' +
    'Provider=' +
        'MSDataShape.1;' +
    'Persist Security Info=' +
        'False;Mode=ReadWrite;'+
    'Data Source=' +
        'c:\veda_dog\lnk_OS_ADM.mdb;' +
    'Data Provider=' +
        'MICROSOFT.JET.OLEDB.4.0'


  //FConnection.IsolationLevel := adXactReadCommitted;
  //FConnection.CursorLocation  := adUseClient;
  //FConnection.Attributes     :=  0 ;
end;





procedure CADOConnection.Open(Username,Password:WideString);
begin
  //FConnection.Open(FConnString,Username,Password,Integer(adConnectUnspecified));
  FConnection.Open (FConnString,Username,'', 1 )

end;

end.






ОШИБКА :
Project Project1.exe Raised exeption class EClassNotFound with message 'Class TADOConnection not found' Process stoped. Use step or Run to continue/

как быть? Как создать AdoConnection в UNITE ?
...
Рейтинг: 0 / 0
Создание ADO Connection ?
    #32302257
Dmitri Krizhanovski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Напрмер, так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas',
  Unit3 in 'Unit3.pas';

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.



Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ADODB, Unit3;

type
  TForm1 = class(TForm)
  private
    { Private declarations }
    FMyCoolADOConnection: TMyADOConnection;
  public
    { Public declarations }
    constructor Create( AOwner: TComponent ); override;
    destructor Destroy; override;
    property MyCoolADOConnection: TMyADOConnection read FMyCoolADOConnection write FMyCoolADOConnection;
  end;

var
  Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

constructor TForm1.Create(AOwner: TComponent);
begin
  inherited;
  CreateConnection;
  FMyCoolADOConnection := TMyADOConnection.Create( nil );
end;

destructor TForm1.Destroy;
begin
  DestroyConnection;
  FMyCoolADOConnection.Free;
  inherited;
end;

end.


как переменная:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
unit Unit2;

interface

uses ADODB;

const
  ConnString = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Data\Data.mdb';

function CreateConnection: TADOConnection;
procedure DestroyConnection;



implementation


var
  MyADOConnection: TADOConnection;


function CreateConnection: TADOConnection;
begin
  MyADOConnection := TADOConnection.Create( nil );
  MyADOConnection.ConnectionString := ConnString;
  MyADOConnection.Open;
  Result := MyADOConnection;
end;

procedure DestroyConnection;
begin
  MyADOConnection.Free;
end;

end.



как производный класс:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
unit Unit3;

interface

uses Classes, Unit2, ADODB;

type

  TMyADOConnection = class( TADOConnection )
  private
    FMyCoolProperty: boolean;
  public
    property MyCoolProperty: boolean read FMyCoolProperty write FMyCoolProperty;
    constructor Create( AOwner: TComponent ); override;
    destructor Destroy; override;
  end;

implementation

{ TMyADOConnection }

constructor TMyADOConnection.Create(AOwner: TComponent);
begin
  inherited;
  FMyCoolProperty := True;
  ConnectionString := ConnString;
  Open;
end;

destructor TMyADOConnection.Destroy;
begin
  FMyCoolProperty := False;
  inherited;
end;

end.


Dmitri krizhanovski
...
Рейтинг: 0 / 0
Создание ADO Connection ?
    #32304804
Фотография Nrisimha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Круто, в VB6.0 проще намного!
Возникает слудущий вопросы:
1. Как создавать рекордсеты
2. Как выполнять Ado.Command

p/s Не думал что в Дельфи столько тескта писать надо ??
Круто!!!
...
Рейтинг: 0 / 0
Создание ADO Connection ?
    #32304837
ZrenBy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да можно и в стиле VB

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
uses . . ., ComObj, ADOInt;

. . .

procedure TForm1.Button2Click(Sender: TObject);
var cmd  : _Command;
    Conn : _Connection;
    wsCS : WideString;
    RA   : OleVariant;
begin
  wsCS := 'Connection String';

  Conn := CreateComObject(CLASS_Connection) as _Connection;
  Conn.Open(wsCS,WideString('User'),WideString('Password'),Integer(adConnectUnspecified));

  cmd := CreateComObject(CLASS_Command) as _Command;
  cmd.Set_ActiveConnection(Conn);
  cmd.CommandText := 'insert into TBL_B (ID,B500)values(3,0xFFFF)';
  cmd.Execute(RA,EmptyParam,Integer(adExecuteNoRecords));
  cmd.Set_ActiveConnection(nil);

  cmd := nil;
  Conn.Close;
  Conn := nil;
end;
...
Рейтинг: 0 / 0
Создание ADO Connection ?
    #32305434
Dmitri Krizhanovski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Nrisimha

В конце-концов ты спросил
как быть? Как создать AdoConnection в UNITE ?

Теперь тебе не нравится
p/s Не думал что в Дельфи столько тескта писать надо ??

pkarklin тебе еще в первом же ответе написал что нужно делать (ни строчки кода)

автор писал:1. Как создавать рекордсеты
2. Как выполнять Ado.Command

Точно также как в ВБ - только по своему.
0. Положить ADOConnection на форму, определить свойство ConnectionString и установить Connected в True .
1. Положить на форму ADOQuery , связать с только что настренным ADOConnection , определить запрос в свойстве SQL и установить Active в True .
2. Так же как и 1 только использовать ADOCommand .
Все перечисленные компоненты находятся на вкладке ADO палитры компонентов Delphi.

To All: Действительно, трудно помогать если ждут не ответов на вопросы, а хрен знает чего. Сидишь, стараешься доходчиво объяснить... а тут еще лезут всякие...
...
Рейтинг: 0 / 0
Создание ADO Connection ?
    #32305576
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Nrisimha

Может вы все-таки забросите вбшные подходы и потратите немного времени, чтоб изучить, как строить приложения на дельфи. Очень все доходчиво описано в Using Delphi->Programming with Delphi. А касаемо вопросов разработков приложений баз данных здесь Using Delphi->Developing Database Applications
...
Рейтинг: 0 / 0
Создание ADO Connection ?
    #32305717
Фотография Nrisimha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я устану ложить на каждую форму ADO.Connection, не проще сделать в одном Unit, чтобы все формы подключались к одному AdoConnection, это логичнее так как нужно все лишь одео соединение с одной БД
Если программист в 10 утра на работе... значит он там ночевал. (с) Народная мудрость.
...
Рейтинг: 0 / 0
Создание ADO Connection ?
    #32305950
Dmitri Krizhanovski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To Nrisimha

автор писал:не проще сделать в одном Unit, чтобы все формы подключались к одному AdoConnection, это логичнее так как нужно все лишь одео соединение с одной БД

И здесь тебе можно помочь:
1. File->New->Data Module
2. Положить один раз компонент ADOConnection на только что созданный Data Module
3. Если в какой-либо форме нужен доступ к ADOConnection , то
выбать форму

File->Use Unit... и в списке выбрать Data Module из пункта 1.

автор писал:ночевал. (с) Народная мудрость
И заметь - опять ни строчки кода - мудрый ты наш :-)( (с) почти Гафт).
...
Рейтинг: 0 / 0
Создание ADO Connection ?
    #32306109
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я устану ложить на каждую форму ADO.Connection, не проще сделать в одном Unit, чтобы все формы подключались к одному AdoConnection, это логичнее так как нужно все лишь одео соединение с одной БД

Нет, ну прямо все по Мерфологии идет. Если ничего не помогает - прочтите наконец инструкцию. :-) Доктор сказал в морг (грызть доку), значит в морг.
...
Рейтинг: 0 / 0
Создание ADO Connection ?
    #32307577
Фотография Nrisimha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Dmitri Krizhanovski
классно!! Благодарю за ответ
to All
Спасибо!!!

А теперь следующий вопрос:
Как можно работать с ADO.NET?
как его подключить испольуя:
1. Data Module
2. Форму
3. Unit
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Создание ADO Connection ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]