Delphi Can
Access bağlantı - Baskı Önizleme

+- Delphi Can (https://www.delphican.com)
+-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3)
+--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6)
+--- Konu Başlığı: Access bağlantı (/showthread.php?tid=6300)



Access bağlantı - woywod - 27-09-2021

Merhabalar 
Ben müsteri listesi adında bir form olusturdum 



Dbgrid den ID sini alıp cari adında bir form olusturdum
bu form da public bir degisken verdim Cari_ID

procedure TCari_list_frm.DBGrid1CellClick(Column: TColumn);
var
Deger:integer;
begin

Deger:= strtoint(DBGrid1.Fields[0].AsString);

  if not Assigned( Cari_Frm) then
 begin

   Cari_Frm := TCari_Frm.Create(self);
    Cari_Frm.cari_ID:=Deger;
   Cari_Frm.Show;


 end

end;
simdi bundan sonra cari adın da fomrmunda create olayına
procedure TCari_Frm.FormCreate(Sender: TObject);

begin

Cari_ADOConnection.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=veri.mdb';

ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * From Cari_Tbl Where Cari_ID='+ cari_ID.ToString);//bir adet parametre yaratıldı
ADOQuery1.Active:=True;
end;
*
fakat veriler gelmiyor
yanı cari formda cari_ID ye deger atanmıyor ? 
Nerde yanlıslık yaptım acaba ?


Cvp: Merhabalar access baglantı - meko - 28-09-2021

(27-09-2021, Saat: 22:52)woywod Adlı Kullanıcıdan Alıntı: Merhabalar 
Ben müsteri listesi adında bir form olusturdum 



Dbgrid den ID sini alıp cari adında bir form olusturdum
bu form da public bir degisken verdim Cari_ID

procedure TCari_list_frm.DBGrid1CellClick(Column: TColumn);
var
Deger:integer;
begin

Deger:= strtoint(DBGrid1.Fields[0].AsString);

  if not Assigned( Cari_Frm) then
 begin

   Cari_Frm := TCari_Frm.Create(self);
    Cari_Frm.cari_ID:=Deger;
   Cari_Frm.Show;


 end

end;
simdi bundan sonra cari adın da fomrmunda create olayına
procedure TCari_Frm.FormCreate(Sender: TObject);

begin

Cari_ADOConnection.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=veri.mdb';

ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * From Cari_Tbl Where Cari_ID='+ cari_ID.ToString);//bir adet parametre yaratıldı
ADOQuery1.Active:=True;
end;
*
fakat veriler gelmiyor
yanı cari formda cari_ID ye deger atanmıyor ? 
Nerde yanlıslık yaptım acaba ?

create değil formun show'una koyarak dene


Cvp: Merhabalar access baglantı - woywod - 28-09-2021

(28-09-2021, Saat: 02:06)meko Adlı Kullanıcıdan Alıntı:
(27-09-2021, Saat: 22:52)woywod Adlı Kullanıcıdan Alıntı: Merhabalar 
Ben müsteri listesi adında bir form olusturdum 



Dbgrid den ID sini alıp cari adında bir form olusturdum
bu form da public bir degisken verdim Cari_ID

procedure TCari_list_frm.DBGrid1CellClick(Column: TColumn);
var
Deger:integer;
begin

Deger:= strtoint(DBGrid1.Fields[0].AsString);

  if not Assigned( Cari_Frm) then
 begin

   Cari_Frm := TCari_Frm.Create(self);
    Cari_Frm.cari_ID:=Deger;
   Cari_Frm.Show;


 end

end;
simdi bundan sonra cari adın da fomrmunda create olayına
procedure TCari_Frm.FormCreate(Sender: TObject);

begin

Cari_ADOConnection.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=veri.mdb';

ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * From Cari_Tbl Where Cari_ID='+ cari_ID.ToString);//bir adet parametre yaratıldı
ADOQuery1.Active:=True;
end;
*
fakat veriler gelmiyor
yanı cari formda cari_ID ye deger atanmıyor ? 
Nerde yanlıslık yaptım acaba ?

create değil formun show'una koyarak dene

Denedim Olmadı?


Cvp: Merhabalar access baglantı - pro_imaj - 28-09-2021

(27-09-2021, Saat: 22:52)woywod Adlı Kullanıcıdan Alıntı: Merhabalar 
Ben müsteri listesi adında bir form olusturdum 



Dbgrid den ID sini alıp cari adında bir form olusturdum
bu form da public bir degisken verdim Cari_ID

procedure TCari_list_frm.DBGrid1CellClick(Column: TColumn);
var
Deger:integer;
begin

Deger:= strtoint(DBGrid1.Fields[0].AsString);

  if not Assigned( Cari_Frm) then
 begin

   Cari_Frm := TCari_Frm.Create(self);
    Cari_Frm.cari_ID:=Deger;
   Cari_Frm.Show;


 end

end;
simdi bundan sonra cari adın da fomrmunda create olayına
procedure TCari_Frm.FormCreate(Sender: TObject);

begin

Cari_ADOConnection.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=veri.mdb';

ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * From Cari_Tbl Where Cari_ID='+ cari_ID.ToString);//bir adet parametre yaratıldı
ADOQuery1.Active:=True;
end;
*
fakat veriler gelmiyor
yanı cari formda cari_ID ye deger atanmıyor ? 
Nerde yanlıslık yaptım acaba ?

Merhaba,

Böyle dener misiniz.
procedure TCari_Frm.FormCreate(Sender: TObject);

begin

Cari_ADOConnection.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=veri.mdb';

ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * From Cari_Tbl Where Cari_ID='''+ cari_ID.ToString+''' ');//bir adet parametre yaratıldı
ADOQuery1.Open;
end;

Close etmemişsiniz aslında sorun bu.


Cvp: Merhabalar access baglantı - woywod - 28-09-2021

(28-09-2021, Saat: 14:39)pro_imaj Adlı Kullanıcıdan Alıntı:
(27-09-2021, Saat: 22:52)woywod Adlı Kullanıcıdan Alıntı: Merhabalar 
Ben müsteri listesi adında bir form olusturdum 



Dbgrid den ID sini alıp cari adında bir form olusturdum
bu form da public bir degisken verdim Cari_ID

procedure TCari_list_frm.DBGrid1CellClick(Column: TColumn);
var
Deger:integer;
begin

Deger:= strtoint(DBGrid1.Fields[0].AsString);

  if not Assigned( Cari_Frm) then
 begin

   Cari_Frm := TCari_Frm.Create(self);
    Cari_Frm.cari_ID:=Deger;
   Cari_Frm.Show;


 end

end;
simdi bundan sonra cari adın da fomrmunda create olayına
procedure TCari_Frm.FormCreate(Sender: TObject);

begin

Cari_ADOConnection.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=veri.mdb';

ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * From Cari_Tbl Where Cari_ID='+ cari_ID.ToString);//bir adet parametre yaratıldı
ADOQuery1.Active:=True;
end;
*
fakat veriler gelmiyor
yanı cari formda cari_ID ye deger atanmıyor ? 
Nerde yanlıslık yaptım acaba ?

Merhaba,

Böyle dener misiniz.
procedure TCari_Frm.FormCreate(Sender: TObject);

begin

Cari_ADOConnection.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=veri.mdb';

ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * From Cari_Tbl Where Cari_ID='''+ cari_ID.ToString+''' ');//bir adet parametre yaratıldı
ADOQuery1.Open;
end;

Close etmemişsiniz aslında sorun bu.
Teşekurler Elinize saglık calıstı Smile


Cvp: Access bağlantı - Mr.X - 30-09-2021

Merhaba,

@pro_imaj 'a alternatif olarak parametreyi doğrudan SQL içerisine enjekte etmektense bu şekilde daha rahat olabilir ;

  with ADOQuery1 do
 begin
   Close;
   SQL.Clear;
   SQL.Add('select * from isimler where ad =:sy1');
   Parameters.ParamByName('sy1').Value := 'Mr.X';
   open;
 end;

En azından tırnak işaretlerinden kurtulmuş olursunuz. Tırnaklar fazla kafa karıştırıcı olabiliyor uzun SQL cümleciklerinde.


Cvp: Access bağlantı - woywod - 01-10-2021

(30-09-2021, Saat: 20:27)Mr.X Adlı Kullanıcıdan Alıntı: Merhaba,

@pro_imaj 'a alternatif olarak parametreyi doğrudan SQL içerisine enjekte etmektense bu şekilde daha rahat olabilir ;

  with ADOQuery1 do
 begin
   Close;
   SQL.Clear;
   SQL.Add('select * from isimler where ad =:sy1');
   Parameters.ParamByName('sy1').Value := 'Mr.X';
   open;
 end;

En azından tırnak işaretlerinden kurtulmuş olursunuz. Tırnaklar fazla kafa karıştırıcı olabiliyor uzun SQL cümleciklerinde.
Tesekurler...