runtime da connection belirleme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
kazimaycan
Üye
Mesajlar: 8
Kayıt: 09 Tem 2003 02:57
Konum: ankara

runtime da connection belirleme

Mesaj gönderen kazimaycan »

delhide ado connection in kullandıgı çift tıklayıp build edildiği ekranı nasıl cıkarabilirim ve bu cıkardıgım ekrandan girilen bilgileri nasıl alabilirim yardımcı olursanız sevinirim.
run time da hangi database e baglanmak istersem o database e baglanmak istiyorum bunuda secimli yapmak istiyorum o yuzdede ado connection nesnesine çift tıukladıgıumızda build dediğimizde gelen ekranı nasıl runtime da getirip secebilirim umarım anlatabilmişimdir
cagatay77
Üye
Mesajlar: 37
Kayıt: 31 Eki 2003 12:34

Re: runtime da connection belirleme

Mesaj gönderen cagatay77 »

Kod: Tümünü seç

         ADOConnection.ConnectionString :=
         'Provider=SQLOLEDB.1;'+
         'Persist Security Info = False;'+
         'Initial Catalog = '+VeriTabani.text+';'+
         'Data Source='+Sunucu.Text+';'+
         'User ID = '+Kullanici.Text+';'+
         'Password = '+Sifre.Text;

         ADOConnection.connected:=true;
İlgili alanları kendi programına uyarlayıp kullanabilirsin. Veritabanı seçimini combobox ile yaptırırsan, bahsettiğin gibi runtime durumunda veritabanı seçtirmiş olursun.
kazimaycan
Üye
Mesajlar: 8
Kayıt: 09 Tem 2003 02:57
Konum: ankara

Re: runtime da connection belirleme

Mesaj gönderen kazimaycan »

ben connection propertilerini ayarlamaktan değilde o propertileri hazırlarken ado connection da çift tıklanıp build şeçeneğini ben exe çalıştıktan sonra kullanıcıya gostermek istiyorum ben birden farklı database kullanıyorum oyuzdende driverlar değişecek ekrandan driverı secip nereye baglanmak istersem oraya baglanıcam
ister sql server olsun ister mysql olsun ister mdf file olsun ister oracle olsun fark etmeyecek bir sekilde yapmak istiyorum
cagatay77
Üye
Mesajlar: 37
Kayıt: 31 Eki 2003 12:34

Re: runtime da connection belirleme

Mesaj gönderen cagatay77 »

Kod: Tümünü seç

      ....
      'Provider=SQLOLEDB.1;'+
      ....
Yukarıdaki satırdan istediğin sağlayıcıyı seçip bağlantı yapabilirsin zaten.
kazimaycan
Üye
Mesajlar: 8
Kayıt: 09 Tem 2003 02:57
Konum: ankara

Re: runtime da connection belirleme

Mesaj gönderen kazimaycan »

interface

uses
SysUtils, Classes;

type
TConnectionStringBuilder = class(TComponent)
private
{ Private declarations }
FConnectionString : string;
function ADOConnectionString(_parentHandle: THandle; _initialString: WideString;
out _newString: string): Boolean;
function GetConnStr : string;
procedure SetConnStr(const _value : string);
protected
{ Protected declarations }
public
{ Public declarations }
published
{ Published declarations }
function Execute : Boolean;
property ConnectionString : string read GetConnStr write SetConnStr;
end;

procedure Register;

implementation

uses OleDB, ComObj, ActiveX, Forms;

// Author: Wilfried Mestdagh
{I see always people manually building the connection string.
Wy not use the dialog that windows provide for us ? Of course
it is possible to use the PromptDataSource in ADODB, but this
give not the opportunity to see if the user has pressed OK or
Cancel, so we dont know when to save the changes. So I use this
code instead. I hope it benefit many people. Rgds, Wilfried}
function TConnectionStringBuilder.ADOConnectionString(_parentHandle: THandle;

_initialString: WideString;
out _newString: string): Boolean;
var
DataInit: IDataInitialize;
DBPrompt: IDBPromptInitialize;
DataSource: IUnknown;
InitStr: PWideChar;
begin
Result := False;
DataInit := CreateComObject(CLSID_DataLinks) as IDataInitialize;
if _initialString <> '' then
DataInit.GetDataSource(nil, CLSCTX_INPROC_SERVER, PWideChar(_initialString),
IUnknown, DataSource);
DBPrompt := CreateComObject(CLSID_DataLinks) as IDBPromptInitialize;
if Succeeded(DBPrompt.PromptDataSource(nil, _parentHandle,
DBPROMPTOPTIONS_PROPERTYSHEET, 0, nil, nil, IUnknown, DataSource)) then
begin
InitStr := nil;
DataInit.GetInitializationString(DataSource, True, InitStr);
_newString := InitStr;
Result := True;
end;
end;

function TConnectionStringBuilder.Execute : Boolean;
var initialString : WideString;
newString : string;
var res : Boolean;
begin
initialString := '';
newString := '';
res := ADOConnectionString(Application.Handle, initialString, newString);
if res then
FConnectionString := newString;
result := res;
end;

function TConnectionStringBuilder.GetConnStr : string;
begin
result := FConnectionString;
end;

procedure TConnectionStringBuilder.SetConnStr(const _value : string);
begin
FConnectionString := _value;
end;

procedure Register;
begin
RegisterComponents('Prestwood', [TConnectionStringBuilder]);
end;

end.


bu class ı kullanarak istediğimi yaptım genede sagolun
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Re: runtime da connection belirleme

Mesaj gönderen sadettinpolat »

"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
ibrahimcoban
Üye
Mesajlar: 163
Kayıt: 11 Eki 2005 10:44
İletişim:

Re: runtime da connection belirleme

Mesaj gönderen ibrahimcoban »

uses adodb;

procedure TForm1.Button1Click(Sender: TObject);
var
al : WideString;
begin
al:= (adodb.PromptDataSource(Handle,al));
end;
http://ibrahimcoban.com/
Lazarus, Kol-Ce,Delphi ve C#
Cevapla