Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
ozcank
Üye
Mesajlar: 937 Kayıt: 28 Nis 2005 05:29
Mesaj
gönderen ozcank » 07 Eki 2016 03:13
Tamam .Şimdi şöyle bir sorgum var ;
Kod: Tümünü seç
procedure TEmanet_Giris.EmanetBilgileriniYedekleme1Click(Sender: TObject);
Var
SIRKET:String;
begin
SIRKET:=Form1.DBLookupComboBox1.Text;
ShowMessage(SIRKET);
eyedek.close;
eyedek.sql.clear;
eyedek.sql.Add('IF OBJECT_ID(''SIRKET..TBLEMANETYDK'') IS NOT NULL');
eyedek.sql.add('BEGIN ');
bur da ki sorgu da (''SIRKET..TBLEMANETYDK'') SIRKET yerine DATABASES ismini yazmam gerekiyor yazdığımda da sorgu doğru çalışıyor fakat benim databases değişken farklı databases ler de oluyor onun için oraya ben programa başta girerken aldırdığım değişken var ;
Kod: Tümünü seç
Var
SIRKET:String;
begin
SIRKET:=Form1.DBLookupComboBox1.Text;
SIRKET e doğru databases ismi geliyor (''SIRKET..TBLEMANETYDK'') bu kısım da SIRKET ismini kabül etmiyor. sorun bu.
kimimben
Üye
Mesajlar: 129 Kayıt: 28 Oca 2016 04:41
Konum: İstanbul
Mesaj
gönderen kimimben » 07 Eki 2016 03:21
ozcank yazdı:
SIRKET e doğru databases ismi geliyor (''SIRKET..TBLEMANETYDK'') bu kısım da SIRKET ismini kabül etmiyor. sorun bu.
Kabul etmesi için gerekli çözümü önerdim. QuotedStr fonksiyonu kullanmak.
ozcank
Üye
Mesajlar: 937 Kayıt: 28 Nis 2005 05:29
Mesaj
gönderen ozcank » 07 Eki 2016 03:23
kimimben yazdı: ozcank yazdı:
SIRKET e doğru databases ismi geliyor (''SIRKET..TBLEMANETYDK'') bu kısım da SIRKET ismini kabül etmiyor. sorun bu.
Kabul etmesi için gerekli çözümü önerdim. QuotedStr fonksiyonu kullanmak.
Bilseydim bu kadar uğraşmaz senide yormazdım. Neyse yardımlarından dolayı teşekkür ederim.
kimimben
Üye
Mesajlar: 129 Kayıt: 28 Oca 2016 04:41
Konum: İstanbul
Mesaj
gönderen kimimben » 07 Eki 2016 03:25
ozcank yazdı:
Bilseydim bu kadar uğraşmaz senide yormazdım. Neyse yardımlarından dolayı teşekkür ederim.
Herhangi bir yorgunluk vermediniz.
Rica ederim.Yardımcı olmak görevimiz.
ozcank
Üye
Mesajlar: 937 Kayıt: 28 Nis 2005 05:29
Mesaj
gönderen ozcank » 07 Eki 2016 04:10
Arkadaşlar bana bu konuda yardımcı olur musunuz ? Bir türlü başaramadım.
Kod: Tümünü seç
Var
SIRKET:String;
begin
SIRKET:=Form1.DBLookupComboBox1.Text;
ShowMessage(SIRKET);
eyedek.close;
eyedek.sql.clear;
eyedek.sql.Add('IF OBJECT_ID(''QuotedStr('+SIRKET+')..TBLEMANETYDK'') IS NOT NULL');
SIRKET değişkenini bu satırda buldurmak istiyorum
Kod: Tümünü seç
eyedek.sql.Add('IF OBJECT_ID(''QuotedStr('+SIRKET+')..TBLEMANETYDK'') IS NOT NULL');
kimimben
Üye
Mesajlar: 129 Kayıt: 28 Oca 2016 04:41
Konum: İstanbul
Mesaj
gönderen kimimben » 07 Eki 2016 04:29
eyedek.sql.text özelliğinde ki değer'de nasıl bir SQL ifadesi yazıyor.
ozcank
Üye
Mesajlar: 937 Kayıt: 28 Nis 2005 05:29
Mesaj
gönderen ozcank » 07 Eki 2016 04:43
eyedek.sql.text text yok add kullanıyorum.
kimimben
Üye
Mesajlar: 129 Kayıt: 28 Oca 2016 04:41
Konum: İstanbul
Mesaj
gönderen kimimben » 07 Eki 2016 04:45
ozcank yazdı: eyedek.sql.text text yok add kullanıyorum.
eyedek.sql.text özelliğinde ki değerin çıktısını paylaşır mısınız ?
ozcank
Üye
Mesajlar: 937 Kayıt: 28 Nis 2005 05:29
Mesaj
gönderen ozcank » 07 Eki 2016 04:47
Sorgum bu kadar;
Kod: Tümünü seç
procedure TEmanet_Giris.EmanetBilgileriniYedekleme1Click(Sender: TObject);
Var
SIRKET:String;
begin
SIRKET:=Form1.DBLookupComboBox1.Text;
ShowMessage(SIRKET);
eyedek.close;
eyedek.sql.clear;
eyedek.sql.Add('IF OBJECT_ID(''QuotedStr('+SIRKET+')..TBLEMANETYDK'') IS NOT NULL');
eyedek.sql.add('BEGIN ');
eyedek.sql.add('select ''VAR'' AS SORGU ');
eyedek.sql.add('END ');
eyedek.sql.add('ELSE ');
eyedek.sql.add('BEGIN ');
eyedek.sql.add('select ''YOK'' AS SORGU ');
eyedek.sql.add('END ');
eyedek.open;
if eyedek.fieldbyname('SORGU').asstring='VAR' THEN
BEGIN
showmessage('Tablo var olduğunda yapılacak komutlar');
end
else
begin
showmessage('Tablo yok olduğunda yapılacak komutlar');
end;
END;
kimimben
Üye
Mesajlar: 129 Kayıt: 28 Oca 2016 04:41
Konum: İstanbul
Mesaj
gönderen kimimben » 07 Eki 2016 04:49
eyedek.open; satırından önce
showmessage(eyedek.sql.text); ekleyip gelen değeri kontrol eder misiniz ?
ozcank
Üye
Mesajlar: 937 Kayıt: 28 Nis 2005 05:29
Mesaj
gönderen ozcank » 07 Eki 2016 04:53
yazdığımda bunu gösteriyor ;
SIRKET yerinde doğru şirketi yazıyor ama sorgu TBLEMANETYDK yı bulmuyor o zaman.
Kod: Tümünü seç
eyedek.sql.Add('IF OBJECT_ID(''QuotedStr('+SIRKET+')..TBLEMANETYDK'') IS NOT NULL');
eyedek.sql.add('BEGIN ');
eyedek.sql.add('select ''VAR'' AS SORGU ');
eyedek.sql.add('END ');
eyedek.sql.add('ELSE ');
eyedek.sql.add('BEGIN ');
eyedek.sql.add('select ''YOK'' AS SORGU ');
eyedek.sql.add('END ');
showmessage(eyedek.sql.text);
eyedek.open;
En son
ozcank tarafından 07 Eki 2016 04:56 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
kimimben
Üye
Mesajlar: 129 Kayıt: 28 Oca 2016 04:41
Konum: İstanbul
Mesaj
gönderen kimimben » 07 Eki 2016 04:55
ozcank yazdı: yazdığımda bunu gösteriyor ;
Kod: Tümünü seç
eyedek.sql.add('BEGIN ');
eyedek.sql.add('select ''VAR'' AS SORGU ');
eyedek.sql.add('END ');
eyedek.sql.add('ELSE ');
eyedek.sql.add('BEGIN ');
eyedek.sql.add('select ''YOK'' AS SORGU ');
eyedek.sql.add('END ');
Onu göstermemesi lazım.
Çalıştırdıktan sonra ekrana gelen mesajı paylaşır mısınız ?
ozcank
Üye
Mesajlar: 937 Kayıt: 28 Nis 2005 05:29
Mesaj
gönderen ozcank » 07 Eki 2016 04:58
düzeltmeye çalıştım ama hızlı baktınız
Doğru gösteriyor ama sorgu o zaman doğru çalışmıyor
SIRKET yerine istediğim şirket ismini yazıyor.
Kod: Tümünü seç
eyedek.sql.Add('IF OBJECT_ID(''QuotedStr('+SIRKET+')..TBLEMANETYDK'') IS NOT NULL');
eyedek.sql.add('BEGIN ');
eyedek.sql.add('select ''VAR'' AS SORGU ');
eyedek.sql.add('END ');
eyedek.sql.add('ELSE ');
eyedek.sql.add('BEGIN ');
eyedek.sql.add('select ''YOK'' AS SORGU ');
eyedek.sql.add('END ');
showmessage(eyedek.sql.text);
eyedek.open;
kimimben
Üye
Mesajlar: 129 Kayıt: 28 Oca 2016 04:41
Konum: İstanbul
Mesaj
gönderen kimimben » 07 Eki 2016 05:00
Programı çalıştırdıktan sonra, showmessage ile ekranda gösterileni paylaşır mısınız ?
ozcank
Üye
Mesajlar: 937 Kayıt: 28 Nis 2005 05:29
Mesaj
gönderen ozcank » 07 Eki 2016 05:03
Ektedir.
Dosya ekleri
Ekran Alıntısı.JPG (13.62 KiB) 2116 kere görüntülendi