Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
tablo var mı kontrolü
#1
arkadaşlar formda bir sürü başlık var ama ben bir türlü beceremedim.
tablom var mı kontrolü yapmak istiyorum örnekleri inceledim ama kendime uygun şekilde çalıştıramadım 
neyi yanlış yapıyorum acaba 
saygılarımla

//aynı tablodan var mı?
SQLQuery1.SQL.Clear;
//SQLQuery1.SQL.Add('select VT_TURNUVA FROM INFORMATION_SCHEMA.TABLES where table_name = ''TRNV_28032021'' ');
SQLQuery1.SQL.Add('select VT_TURNUVA FROM INFORMATION_SCHEMA.TABLES where table_name =TRNV_28032021 ');
SQLQuery1.ExecSQL;
while not SQLQuery1.Eof do
begin
    ShowMessage('Buldu');
    exit;
  end;  
Ekmeğimi yazılımdan kazanmıyorum kendi halimde bir şeyler yapıyorum. 49 yaşında emekliyim.
İğne sokmadan yardımcı olacaksan başımın üstünde yerin var.

Cevapla
#2
(28-03-2021, Saat: 16:03)sadikacar60 Adlı Kullanıcıdan Alıntı: arkadaşlar formda bir sürü başlık var ama ben bir türlü beceremedim.
tablom var mı kontrolü yapmak istiyorum örnekleri inceledim ama kendime uygun şekilde çalıştıramadım 
neyi yanlış yapıyorum acaba 
saygılarımla

//aynı tablodan var mı?
SQLQuery1.SQL.Clear;
//SQLQuery1.SQL.Add('select VT_TURNUVA FROM INFORMATION_SCHEMA.TABLES where table_name = ''TRNV_28032021'' ');
SQLQuery1.SQL.Add('select VT_TURNUVA FROM INFORMATION_SCHEMA.TABLES where table_name =TRNV_28032021 ');
SQLQuery1.ExecSQL;
while not SQLQuery1.Eof do
begin
    ShowMessage('Buldu');
    exit;
  end;  
Aşağıdaki sorguyu dener misiniz
SELECT 1 FROM RDB$RELATIONS WHERE RDB$RELATION_NAME = 'tablo adi burada olacak'
Cevapla
#3
(28-03-2021, Saat: 16:40)klavye Adlı Kullanıcıdan Alıntı:
SELECT 1 FROM RDB$RELATIONS WHERE RDB$RELATION_NAME = 'tablo adi burada olacak'
olmadı hocam hep boş deger dönüyor. 
saygılarımla


//aynı tablodan var mı?
//SQLQuery1.SQL.Add('SELECT * FROM information_schema.tables WHERE table_name = ''TRNV_28032021'' ');
SQLQuery1.SQL.Add('SELECT 1 FROM RDB$RELATIONS WHERE RDB$RELATION_NAME = TRNV_28032021');
SQLQuery1.Open;
while  SQLQuery1.Eof do
begin
   ShowMessage('Buldu');
   exit;
 end;

sonuc := SQLQuery1.Fields[0].AsInteger;
ShowMessage(IntToStr(sonuc));
if sonuc=1 then exit;
                     
Ekmeğimi yazılımdan kazanmıyorum kendi halimde bir şeyler yapıyorum. 49 yaşında emekliyim.
İğne sokmadan yardımcı olacaksan başımın üstünde yerin var.

Cevapla
#4
SQLQuery1.SQL.Add('SELECT 1 FROM RDB$RELATIONS WHERE RDB$RELATION_NAME = '+#39+'TRNV_28032021'+#39);

şeklinde dener misiniz ?
Cevapla
#5
http://www.firebirdfaq.org/faq69/
PostgreSQL - Linux - Delphi, Poliüretan
WWW
Cevapla
#6
Merhabalar

Senin lik sorgu kullanırsan soyle bişey yap yeterlidir

execsql den sonra

if SQLQuery1.recordcount > 0 then
showmessage('bulundu');
Cevapla
#7
(29-03-2021, Saat: 21:14)r3n4m3 Adlı Kullanıcıdan Alıntı: Merhabalar

Senin lik sorgu kullanırsan soyle bişey yap yeterlidir

execsql den sonra

if SQLQuery1.recordcount > 0 then
showmessage('bulundu');
malesef bildiğim yöntemleri denedim hata vermiyor ama kod iş görmüyor tabloyu kontrol ettim tablo var hatta başka tablo oluşturup onuda kontrol ettim sonuç aynı.
zamanınızı ayırdığınız için teşekkür ederim.

//aynı tablodan var mı?
SQLQuery1.Close;
SQLQuery1.SQL.Clear;
//SQLQuery1.SQL.Add('SELECT 1 FROM RDB$RELATIONS WHERE RDB$RELATION_NAME = TRNV_28032021');
//SQLQuery1.SQL.Add('select 1 from rdb$relations where rdb$relation_name = ''TRNV_28032021'' ');
SQLQuery1.SQL.Add('SELECT 1 FROM RDB$RELATIONS WHERE RDB$RELATION_NAME = '+#39+'TRNV_28032021'+#39);

SQLQuery1.ExecSQL;
if SQLQuery1.recordcount > 0 then showmessage('bulundu');

 
Ekmeğimi yazılımdan kazanmıyorum kendi halimde bir şeyler yapıyorum. 49 yaşında emekliyim.
İğne sokmadan yardımcı olacaksan başımın üstünde yerin var.

Cevapla
#8
Execsql yerine open deneyin
PostgreSQL - Linux - Delphi, Poliüretan
WWW
Cevapla
#9
Yazdıgınız sorgu buyuk-kucuk harfe duyarli.Onun içinde tablo adini buna gore yazmalisiniz.
Bu sekilde forma bir adet query nesnesi ekledim.
sql.Text:='SELECT 1 FROM RDB$RELATIONS WHERE RDB$RELATION_NAME = '+QuotedStr('OGRENCI');
Seklinde sorguyu hazirlayip execquery dedigimde dogru sonucu verdi.
Cevapla
#10
IBX ile baktım.
uses a IBX.IBSQL  ekleyerek aşağıdaki gibi kullanabilirsiniz.

function TfrmMain.TableExists(Db: TIBDatabase; const TableName: string): Boolean;
begin
 with TIBSQL.Create(nil) do
 try
   Database := db;
   SQL.Text := 'SELECT 1 FROM RDB$RELATIONS WHERE RDB$RELATION_NAME = :t';
   Params[0].AsString := TableName;
   ExecQuery;
   Result := RecordCount > 0;
 finally
   Free;
 end;
end;

procedure TfrmMain.btnTest(Sender: TObject);
begin
  if TableExists(IBDatabase1, 'DENEME') then
  ShowMessage('Ok');
end;
Ayakkabıyı sefaletten
Çok sonraları tanıdım
Öyle ufuklarda mı olurmuş Allah'ım
Giyer giyer koşardım
Toprağın dostluğundan
Oyuncaklar yaptım çamurdan
Tenimin rengini aldım topraktan
Sen bakma esmerliğim sonradan...





Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Tablo birleştirme muratmert 7 2.679 13-04-2023, Saat: 09:24
Son Yorum: mrmarman
  TABLO KAYIT İÇİNDEKİ KELİMEYİ BAŞA YAZMA maydin60 5 2.067 13-03-2023, Saat: 00:11
Son Yorum: maydin60
  İki Tablo Arasında Olmayan Kayıtları Listelemek sunbeki 3 2.344 13-05-2021, Saat: 22:08
Son Yorum: sunbeki
  Fibdatabase (Fibdataset) bileşeni tüm tablo alanlarını göstermiyor :( baloglurecep 2 2.990 23-06-2020, Saat: 07:33
Son Yorum: MugenPower
  flame robin yeni tablo oluşturma sadikacar60 1 2.304 25-01-2020, Saat: 22:34
Son Yorum: anemos



Konuyu Okuyanlar: 1 Ziyaretçi