bdpAdapter in Sqllini Değiştirme

Delphi .net ve .net ile ilgili konuları buraya yazabilirsiniz.
Cevapla
ademcicek
Üye
Mesajlar: 409
Kayıt: 03 Eki 2003 01:50
Konum: Ankara

bdpAdapter in Sqllini Değiştirme

Mesaj gönderen ademcicek »

Herkse Merhaba. Ben Arama yaptırmaya çalışıyom ama bir türlü sql i çalıştıramadım.her halde mantık farklı.
vertabanı sql server.aynı zaman da bu uygulalama webaplication uygulamasıdır.

Kod: Tümünü seç

procedure TWebForm1.btnBul_Click(sender: System.Object; e: System.EventArgs);
var
S:&string;
SQL:&string;
begin

if Length(tbAdSoyad.Text)<>0 then
begin
SQL:='ADSOYAD LIKE ''%'+tbAdSoyad.Text+'%''';
end;
 S:='SELECT UID, ADSOYAD, TCKIMLIKNO, VERGINO, TELEFON1, TELEFON2, FAKS, ADRES, IL, ILCE, MAHALLE FROM dbo.KisiKart';

if not (SQL='') then
S:=S+' WHERE '+ SQL
else
S:=S;

Self.AdresData.Active:=False;
Self.AdresSelect.CommandText:=S;
Self.AdresData.SelectCommand:=Self.AdresSelect;
Self.AdresData.Active:=True;
InitializeComponent;
end;
ben bunu yaptığımda hiç sonuç alamıyorum.
sql doğru.test ettim.
anladığım kadarıyla bdpadapterin sqli değişmiyor.
bu sorunla karşılaşan arkadaşların yardımlarını bekliyorum

kolay gelsin.
teşekür ederim.
zekeriyya_99
Üye
Mesajlar: 5
Kayıt: 23 Nis 2005 11:06
Konum: SAMSUN
İletişim:

bdpDataAdapter ile arama

Mesaj gönderen zekeriyya_99 »

bdpSelectCommand1.Close;
BdpDataAdapter1.Active := False;

bdpSelectCommand1.CommandText := 'SELECT COUNTRY, CURRENCY FROM COUNTRY WHERE COUNTRY = ?';

bdpSelectCommand1.Parameters.Clear;
bdpSelectCommand1.ParameterCount := (SmallInt(1));
bdpSelectCommand1.Parameters.Add(Borland.Data.Common.BdpParameter.Create('ULKE' +
'', Borland.Data.Common.BdpType.String, Borland.Data.Common.BdpType.String,
0, System.Data.ParameterDirection.Input, False, (Byte(0)), (Byte(0)),
0, 'COUNTRY', System.Data.DataRowVersion.Current, TextBox1.Text));
BdpDataAdapter1.Active := True;

bdpDataAdapter sql sorgusunu değişmek yerine DataView bileşeni kullanmak daha zahmetsizdir.
-- DataView.Find(TextBox1.Text); --
ademcicek
Üye
Mesajlar: 409
Kayıt: 03 Eki 2003 01:50
Konum: Ankara

Mesaj gönderen ademcicek »

aslında ben bdpadapter de parametre tanımlamıyorum.direk bir sql gönderiyorum.yine de sizin yukarıda yaptınız gibi mi yapmak zorundayız.benim yaptığım örnekte

Kod: Tümünü seç

 selectcommand.commandtext=S 
S:='Select ADSOYAD,TEL FROM KISIKART WHERE ADSOYAD LIKE 'Adem Çiçek'';
yani tam bir sql olarak gönderiyorum.parametre tanımım yok.
bu arada dataview kullanarak arama yaptırma işlemini nasıl yapacaz.

teşekür ederim kolay gelsin.[/code]
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Verdiğin sorgunu içindeki çift tek tırnak olacak yerde tek tırnak olmuş.
Ayrıca like da joker (%) işaretini kullanmamışsın. Adsoyadın başında ve sonunda boşluklar olabilir :wink: Alanı TRIM lemelisin.. SQL-Server da yazımını bilmiyorum... varsa; rtrim, ltrim, alltrim yada trim olabilir....??

Aynı olayı önceki mesajında oluşturduğun SQL satırı için de yapabilirsin;

Kod: Tümünü seç

... 
SQL:='ADSOYAD LIKE ''%'+trim(tbAdSoyad.Text)+'%''';
... 
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
ademcicek
Üye
Mesajlar: 409
Kayıt: 03 Eki 2003 01:50
Konum: Ankara

Mesaj gönderen ademcicek »

abicim teşekür ederim.sql le ilgili o belirtiğiniz şeyleri düzeltirim.yalnız burada sql yanlış değil.ben sqli olduğu gibi aldım ve sql server da denedim.mesela adem çiçeği aratıyorum.sql serverda sonuç geliyor.delphi 2005 de yaptığımda hiç bir sonuç gelmiyor.yani bdpadapter de sql değişikliğini yapamıyorum.

Adapterin sqlini Şöyle yapıyorum

Kod: Tümünü seç

 'Select AdSoyad,Tel From KisiKart' 
sonra programı çalıştıryorum.kayıtlar geliyor.
sonra gelen kayıtlar içinde arama yapmak istiyorum dolaysıyla where kullanmak zorunda kalıyorum.ve ondan sonra dananın kuyruğu kopuyor hiç kayıt getirmiyor.yani sql normalde çalışyor.delphide bdpadapter ile yapamaya kalktığımda hiç sonuç alamıyorum.

aslında delphi 2005 te webapplication uygulamaları pekiştirmek için yaptığım bir adres defteri uygulaması.
çok yavaş ilerliyorum.bir şeyi çözmeye çalışyom.çözüyüm derken epey bir zaman geçiyor.çöözüyorum yeni sorun la karşılaşıyorum.

ilgilendiğiniz için teşekür ederim.kolay gelsin.
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

Delphi de nasıl oluyor tam olarak bilmiyorum ama VisualStudio da aşağıdaki gibi kullanıyorum.

Kod: Tümünü seç

sqlDataAdapter1.SelectCommand.CommandText = "select * from Tablo1";
sqlDataAdapter1.Fill(dataSet1.Tables["Tablo1"]);  // Dataset teki kayıtları DataAdapter e yükle
DataGrid1.DataBind();  // DataAdapter e yüklenen kayıtları Gridde listele
sanırım delphi dede sqlDataAdapter1.Fill() gibi bir kullanım olmalı..
DeveloperToolKit

..::|YeşilMavi|::..
zekeriyya_99
Üye
Mesajlar: 5
Kayıt: 23 Nis 2005 11:06
Konum: SAMSUN
İletişim:

bdpAdapter Arama

Mesaj gönderen zekeriyya_99 »

Aslında BdpDataAdapter de parametre geçirmen şart değil senin yapmaya çalıştığın şekilde de olur.

procedure TWebForm1.Button1_Click(sender: System.Object; e: System.EventArgs);
begin
bdpSelectCommand1.Close;
BdpDataAdapter1.Active := False;
bdpSelectCommand1.CommandText := 'SELECT * FROM COUNTRY WHERE COUNTRY = '+''''+TextBox1.Text+'''';
BdpDataAdapter1.Active := True;
DataGrid1.DataBind;
end;
end.
ademcicek
Üye
Mesajlar: 409
Kayıt: 03 Eki 2003 01:50
Konum: Ankara

Mesaj gönderen ademcicek »

evet hocam biraz önce farkına vardım ki siz cevap yazmışınız.sorun bdpadapter de değilmiş.
griddeymiş.
databind olayı çalıştırmamız gerekiryormuş.çok teşekür ederim.
böylece ilk webuygulamamı tamamlamış oldum.artık delphide web uygulaması yapabilirim. kolay gelsin.
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Mesaj gönderen aLonE CoDeR »

Merhaba.
Sorunuzda verdiğiniz kodları siz mi yazdınız, merak ettim..
ademcicek
Üye
Mesajlar: 409
Kayıt: 03 Eki 2003 01:50
Konum: Ankara

Mesaj gönderen ademcicek »

ben yazdım.niye merak ettiniz..
Cevapla