çalışma anında dinamik sorgu şart ifadesini where ?

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
kodcuminik
Üye
Mesajlar: 140
Kayıt: 11 Oca 2009 10:25

çalışma anında dinamik sorgu şart ifadesini where ?

Mesaj gönderen kodcuminik »

merhaba
kullanıcı
çalışma anında secime göre sorgu oluşturuyor listelemede sorun yok

Kod: Tümünü seç

ADOQuery3.SQL.Clear;
ComboBox1.Text:=ComboBox1.Items.Strings[secilen_choose_no];
ADOQuery3.SQL.Text:='SELECT * FROM '+ComboBox1.Text+' '+'WI'+'TH'+'(NO'+'LOCK)';
ADOQuery3.Active:=true;  // ÇALIŞTIR
yukarıdaki sorgu ile kullancı istedği listeyi çekiyor
ama ben buna aşağıdaki gibi bir şart ifadesi eklediğimde hata alıyorum doğal olarak colon ismine
ihtiyacım var
ADOQuery3.Fields[0].DisplayName; ile normalde query true yaptıktan sonra alıyorum ama sorguyu çalıştırmadan alamıyorum
tab olarak hata aldığım sorgu aşağıdaki gibi

Kod: Tümünü seç

AdoQuery3.SQL.Add( 'WHERE  '+ADOQuery3.Fields[0].DisplayName+'   LIKE N''%'+kullanici_gonderdigi_edit_bilgisi+'%''  ');
bilmezler bilmediklerinide bilmezler ama kendilerini bilir sanırlar
Kullanıcı avatarı
csunguray
Üye
Mesajlar: 855
Kayıt: 09 Ara 2006 05:08
Konum: Adana
İletişim:

Re: çalışma anında dinamik sorgu şart ifadesini where ?

Mesaj gönderen csunguray »

Öncelikle

Kod: Tümünü seç

  ADOQuery3.SQL.Clear;
  ComboBox1.Text := ComboBox1.Items.Strings[secilen_choose_no];
  ADOQuery3.SQL.Text :=  'SELECT * FROM ' + ComboBox1.Text + ' WITH (NOLOCK)';
  AdoQuery3.SQL.Add( 'WHERE  1 = 2');
  ADOQuery3.Open;
gibi bir komutla Query'i açın. Field adları geldikten sonra kapatıp tekrar açın. Ayrıca ADOQuery3.Active:=true yerine ADOQuery3.Open kullanın.

Kod: Tümünü seç

  SahaAdi := ADOQuery3.Fields[0].FieldName;
  ADOQuery3.Close;
  ADOQuery3.SQL.Clear;
  ComboBox1.Text := ComboBox1.Items.Strings[secilen_choose_no];
  ADOQuery3.SQL.Text :=  'SELECT * FROM ' + ComboBox1.Text + ' WITH (NOLOCK)';
  AdoQuery3.SQL.Add( 'WHERE  ' + SahaAdi + '   LIKE N''%'+kullanici_gonderdigi_edit_bilgisi+'%''  ');
  ADOQuery3.Open;
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri

Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
Kullanıcı avatarı
adelphiforumz
Üye
Mesajlar: 602
Kayıt: 01 Nis 2008 05:38
Konum: İstanbul

Re: çalışma anında dinamik sorgu şart ifadesini where ?

Mesaj gönderen adelphiforumz »

Tablodaki tüm bilgileri aşağıdaki sorgu ile bulabilrsin

Kod: Tümünü seç

SELECT * FROM sys.COLUMNS WHERE OBJECT_NAME(sys.COLUMNS.OBJECT_ID) = 'TABLOADI'
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Cevapla