Konu: Sorgu da ' veya "
selamlar;
SP de kullanmaya yeni başladım anlamam 2 gün sürdü. anlaşılır ve çalışır bir örneği sonunda hayata geçirebildim.
Aşağıdaki kod ile Sp_deger SQL e eklene biliyor.
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sp_Deger]') AND type IN (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'
CREATE procedure [dbo].[sp_Deger]
@Alanlar varchar(300),
@TabloAdi varchar(300),
@kriter varchar(300)
as
declare @Sorgu varchar(1000)
Set DateFormat dmy
Select @Sorgu = ''
select ''+@Alanlar+'' from ''+@TabloAdi+'' where ''+@kriter+''
''
exec(@sorgu)
'
END
-- kullanım
--exec sp_deger 'cinsi,birim','t_stok','birim=''ADET'''
--exec sp_deger '*','t_stok','kdvy=1'
--exec sp_deger 'cinsi,sum(kdvy)','t_stok','kdvy=1 group by cinsi'
oluşan sp yi aşağıdaki gibi kullanıyorum.
local
lccinsi="S.KAYIN VD-A-20 36*198*72.5 M-3 12'LİK SAĞ"
x=SQLExec(baglan(),"exec sp_deger 'top 1 *','t_stok','cinsi = ''"+"&lccinsi"+"'''",'crt_stokVarmi')
sorun yok işimide görüyordu taki stok ismi içinde 12" lik 3' gibi karekterler içirince sistem dağıldı. Toparlayacak arkadaşlara ihtiyacım var.
Henüz ()[]% gibi işaretlerdede denemedim.
Saygılar