Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Создание ADO Connection ? / 14 сообщений из 14, страница 1 из 1
21.10.2003, 12:28
    #32299620
Nrisimha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание ADO Connection ?
В 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
21.10.2003, 12:32
    #32299629
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание ADO Connection ?
В дельфи не надо писать ничего, ложи на форму компонент TADOConnection, устанавливай свойства и затем свойство Connected в TRUE.
...
Рейтинг: 0 / 0
21.10.2003, 12:46
    #32299659
Малиновский Владимир
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание ADO Connection ?
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
21.10.2003, 13:03
    #32299708
ZrenBy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание ADO Connection ?
Что-нибудь типа этого

Код: 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
22.10.2003, 19:58
    #32302210
Nrisimha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание ADO Connection ?
Не работает , вот как я пробовал:
Код: 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
22.10.2003, 21:15
    #32302257
Dmitri Krizhanovski
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание ADO Connection ?
Напрмер, так:

Код: 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
24.10.2003, 18:22
    #32304804
Nrisimha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание ADO Connection ?
Круто, в VB6.0 проще намного!
Возникает слудущий вопросы:
1. Как создавать рекордсеты
2. Как выполнять Ado.Command

p/s Не думал что в Дельфи столько тескта писать надо ??
Круто!!!
...
Рейтинг: 0 / 0
24.10.2003, 19:08
    #32304837
ZrenBy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание ADO Connection ?
Да можно и в стиле 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
26.10.2003, 17:14
    #32305434
Dmitri Krizhanovski
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание ADO Connection ?
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
27.10.2003, 08:06
    #32305576
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание ADO Connection ?
2 Nrisimha

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

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

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

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

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

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

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


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