Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Sp_Procedure Kontrol Etmek
#21
Bu şekilde Var sada VAR yoksa da VAR diyor.

TrkK := POS('SELECT TrkK=count(*) as Sonuc FROM sys.objects WHERE object_id = OBJECT_ID(N''dbo.SP_EMANETTRK'')', sList) >= -1;
IF NOT TrkK then
Begin
  GroupBox1.Visible := True;
  Button7.Enabled := True;
  // Mesaj;
  Abort;
End
else
  GroupBox1.Visible := False;
  Button7.Enabled := False;
  ShowMessage('VAR');

Tablo Kontrolü yapıyor ben Object nasıl dahil edebilirim ?

sList := '';
WHILE NOT KONTROL.Eof  DO
 BEGIN
sList := sList +  KONTROL.FieldByName('Table_Name').ASString + '###';
 KONTROL.NEXT;
End;
Cevapla
#22
else den sonra begin end yok gibi o yüzden hep VAR diyor sanırım
Cevapla
#23
POS('SELECT TrkK=count(*) as Sonuc FROM sys.objects WHERE object_id = OBJECT_ID(N''dbo.SP_EMANETTRK'')', sList) >= -1;

Yazdığınız SQL cümlesini POS ile kullanımınızda hata var. Sizin önce bu cümleyi bir Query nesnesinde çalıştırıp, geri dönen sonuç listesinde POS ile arama yapmanız gerekiyor.  Sizin kullanımınızda bu SQL cümlesi veritabanı tarafında çalıştırılmayacaktır. Sadece  sList içinde bu cümle metin olarak aranacaktır.

if .....
Begin
.......
End
Else 
Begin // <<-- Buralar eksik
  GroupBox1.Visible := False;
  Button7.Enabled := False;
  ShowMessage('VAR');
End;//<--- Buralar eksik

if else kullanımındaki eksikliğe bir önceki mesajda dikkat çekildi. O kısmıda yukarıdaki gibi düzeltmeniz gerekmektedir.
Cevapla
#24
frmman ben dediğiniz gibi düzelttim denedim sonuç değişmedi.

TrkK := POS('SELECT TrkK=count(*) as Sonuc FROM sys.objects WHERE object_id = OBJECT_ID(N''dbo.SP_EMANETTRK'')', sList) >= -1;
IF NOT TrkK then
Begin
  GroupBox1.Visible := True;
  Button7.Enabled := True;
  // Mesaj;
  Abort;
End
else
  Begin
  GroupBox1.Visible := False;
  Button7.Enabled := False;
  ShowMessage('VAR');
End;


Bu şekilde query de denediğimde sonuç "0" veya "1" olarak dönüyor.
SELECT count(*) as SONUC FROM sys.objects WHERE object_id = OBJECT_ID(N'dbo.SP_EMANETTRK') 

Cevapla
#25
(17-09-2020, Saat: 10:40)OZCANK Adlı Kullanıcıdan Alıntı: frmman ben dediğiniz gibi düzelttim denedim sonuç değişmedi.

TrkK := POS('SELECT TrkK=count(*) as Sonuc FROM sys.objects WHERE object_id = OBJECT_ID(N''dbo.SP_EMANETTRK'')', sList) >= -1;
IF NOT TrkK then
Begin
  GroupBox1.Visible := True;
  Button7.Enabled := True;
  // Mesaj;
  Abort;
End
else
  Begin
  GroupBox1.Visible := False;
  Button7.Enabled := False;
  ShowMessage('VAR');
End;


Bu şekilde query de denediğimde sonuç "0" veya "1" olarak dönüyor.
SELECT count(*) as SONUC FROM sys.objects WHERE object_id = OBJECT_ID(N'dbo.SP_EMANETTRK') 


Merhabalar,

Yazılanları sanırım tam olarak okumadınız. Tekrar gözden geçirmenizi öneririm.

(17-09-2020, Saat: 10:31)frmman Adlı Kullanıcıdan Alıntı: Yazdığınız SQL cümlesini POS ile kullanımınızda hata var. Sizin önce bu cümleyi bir Query nesnesinde çalıştırıp, geri dönen sonuç listesinde POS ile arama yapmanız gerekiyor.  Sizin kullanımınızda bu SQL cümlesi veritabanı tarafında çalıştırılmayacaktır. Sadece  sList içinde bu cümle metin olarak aranacaktır.


if else kullanımındaki eksikliğe bir önceki mesajda dikkat çekildi. O kısmıda yukarıdaki gibi düzeltmeniz gerekmektedir.

Kolay gelsin.
Amaç, bilginin de/aklın da zekat'ını vermek.
Cevapla
#26
(17-09-2020, Saat: 11:02)hi_selamlar Adlı Kullanıcıdan Alıntı:
(17-09-2020, Saat: 10:40)OZCANK Adlı Kullanıcıdan Alıntı: frmman ben dediğiniz gibi düzelttim denedim sonuç değişmedi.

TrkK := POS('SELECT TrkK=count(*) as Sonuc FROM sys.objects WHERE object_id = OBJECT_ID(N''dbo.SP_EMANETTRK'')', sList) >= -1;
IF NOT TrkK then
Begin
  GroupBox1.Visible := True;
  Button7.Enabled := True;
  // Mesaj;
  Abort;
End
else
  Begin
  GroupBox1.Visible := False;
  Button7.Enabled := False;
  ShowMessage('VAR');
End;


Bu şekilde query de denediğimde sonuç "0" veya "1" olarak dönüyor.
SELECT count(*) as SONUC FROM sys.objects WHERE object_id = OBJECT_ID(N'dbo.SP_EMANETTRK') 


Merhabalar,

Yazılanları sanırım tam olarak okumadınız. Tekrar gözden geçirmenizi öneririm.

(17-09-2020, Saat: 10:31)frmman Adlı Kullanıcıdan Alıntı: Yazdığınız SQL cümlesini POS ile kullanımınızda hata var. Sizin önce bu cümleyi bir Query nesnesinde çalıştırıp, geri dönen sonuç listesinde POS ile arama yapmanız gerekiyor.  Sizin kullanımınızda bu SQL cümlesi veritabanı tarafında çalıştırılmayacaktır. Sadece  sList içinde bu cümle metin olarak aranacaktır.


if else kullanımındaki eksikliğe bir önceki mesajda dikkat çekildi. O kısmıda yukarıdaki gibi düzeltmeniz gerekmektedir.

Kolay gelsin.

hi_selamlar onuda değiştirdim

 IF TrkK=('SELECT TrkK=count(*) as Sonuc FROM sys.objects WHERE object_id = OBJECT_ID(N''dbo.SP_EMANETTRK'')') Then
 Begin
  GroupBox1.Visible := True;
  Button7.Enabled := True;
  // Mesaj;
  Abort;
End
else
  Begin
  GroupBox1.Visible := False;
  Button7.Enabled := False;
  ShowMessage('VAR');
End;
ve cümle çalışiıyor query de delphide bu şekilde kullandım sonuç yok.
Cevapla
#27
(17-09-2020, Saat: 11:27)OZCANK Adlı Kullanıcıdan Alıntı:
(17-09-2020, Saat: 11:02)hi_selamlar Adlı Kullanıcıdan Alıntı: Merhabalar,

Yazılanları sanırım tam olarak okumadınız. Tekrar gözden geçirmenizi öneririm.


Kolay gelsin.

hi_selamlar onuda değiştirdim

 IF TrkK=('SELECT TrkK=count(*) as Sonuc FROM sys.objects WHERE object_id = OBJECT_ID(N''dbo.SP_EMANETTRK'')') Then
 Begin
  GroupBox1.Visible := True;
  Button7.Enabled := True;
  // Mesaj;
  Abort;
End
else
  Begin
  GroupBox1.Visible := False;
  Button7.Enabled := False;
  ShowMessage('VAR');
End;
ve cümle çalışiıyor query de delphide bu şekilde kullandım sonuç yok.

Merhabalar,

Yazdığınız SQL'den dönen sonuçları yazarmısınız lütfen. (Alan isimleri ve verileri).

Kolay gelsin.
Amaç, bilginin de/aklın da zekat'ını vermek.
Cevapla
#28
Arkadaşlar eğer SP_EMANETTRK procedure ve EMANETTRK function kontrol de  var  , yok  kontrolü yaptırmak istiyorum. Eğer var ise Button false olacak , yok ise Button true olacak bunu nasıl yapabilirim? Yardımcı olur musunuz? 

KONTROL.SQL.Text:='IF EXISTS (SELECT type_desc, type FROM sys.procedures WITH(NOLOCK) WHERE NAME =' + ''SP_EMANETTRK'' AND type = ''P'') '+  
 'DROP PROCEDURE dbo.SP_EMANETTRK '+
'GO '+
'  CREATE PROC [dbo].[SP_EMANETTRK]'+  
' (@STOK_KODU Nvarchar(150) = null ,  '+
' @GRUP_KODU Nvarchar(150) = null ,  '+
' @KOD_1 Nvarchar(80) = null ,  '+
' @KOD_2 Nvarchar(80) = null ,  '+
' @KOD_3 Nvarchar(80) = null ,  '+
' @KOD_4 Nvarchar(80) = null ,  '+
' @KOD_5 Nvarchar(80) = null ,  '+
' @DEPO_KODU smallint = null ,  '+
' @SUBE_KODU smallint = null )  '+
' AS '+
...
..



KONTROL.SQL.Text:='CREATE FUNCTION [dbo].[EMANETTRK] (' +
                 '@STR NVARCHAR(MAX)) '+
                 'RETURNS NVARCHAR(MAX) '+
                 'AS '+
                 'BEGIN '+
                 'DECLARE @TMP NVARCHAR(MAX) '+
                 'IF @STR IS NULL '+
                 'SET @TMP = NULL '+
                 'ELSE '+
Cevapla
#29
Yardım edebilecek kimse yok mu? Sad
Cevapla
#30
(21-09-2020, Saat: 10:45)OZCANK Adlı Kullanıcıdan Alıntı: Yardım edebilecek kimse yok mu? Sad

Merhabalar,

https://sqlhints.com/2014/04/13/how-to-c...ql-server/

Link'i inceleyin.

Kolay gelsin.

IF EXISTS(SELECT 1 AS DURUM FROM sys.procedures 
          WHERE Name = 'BILESENUYUMTEST1')
BEGIN
   select 1 as durum; -- var
END
else
begin
select 0 as durum; -- yok
end
Amaç, bilginin de/aklın da zekat'ını vermek.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Algoritmi teyin etmek deutsch1988 12 592 06-04-2024, Saat: 22:26
Son Yorum: deutsch1988
  Çalışan Exe Formuna Müdahale Etmek SercanTEK 4 388 01-03-2024, Saat: 22:51
Son Yorum: SercanTEK
  Edit içindeki tarihin doğru olup olmadığını kontrol etmek? hasansavci 2 396 17-10-2023, Saat: 03:35
Son Yorum: mcuyan
  Tag kontrol özeliği ile Başla- Durdur düğmesi muratbdllh 7 2.574 07-04-2021, Saat: 03:48
Son Yorum: muratbdllh
  BitBtn Click kontrol OZCANK 7 2.832 23-11-2020, Saat: 10:32
Son Yorum: mrmarman



Konuyu Okuyanlar: 1 Ziyaretçi