Bir
EXEC procedureName 'param'eter1', 'parameter2'
ben sadece aynı kalması 'param'eter1' ama başlangıç ve parametrenin sonunda single tırnak içindeki single tırnak değiştirmek istiyor.
Aşağıdaki komutu kullanarak dizedeki tüm single'ların tırnaklarını değiştirin ve bu doğru '' param''eter1 '' gibi görünüyor.
sometext.Replace("'", "''")
bunun böyle bakmak istiyorum:
EXEC procedureName 'param''eter1', 'parameter2'
Ayrıca ben SqlParameter kullanarak ancak SQL parametrelerinde tek tırnak işlemek için daha iyi bir çözüm olduğunu zaten farkındayım unutmayın kısıtlamalar nedeniyle proje ortamında bunu uygulayamıyorum.
Güncelleme:
tam deyimi oluşturmak için bunları kullanmadan önce bireysel parametrelerin değiştirilmesi O koduna erişim yok gibi benim için bir seçenek değildir. Projem, diğer uygulamaların işlenmesi için SQL dizeleri aldığı bir veri katmanı gibi çalışır.
Beyaz boşluktan sonra değil, boşluk/virgülle eşleşmeyen 'regex ile eşleşen normal ifadeleri kullanabilirsiniz. Ama gerçekten ihtiyacınız olan şey, projenizin mimarisini değiştirmek (ya da en azından hizmetin ismini, insanların burada SqlInjection'a kurban gitmeyecek şekilde adlandırmasını sağlamaktır). – gdoron
Tek tek parametrelerde, tüm ifadeyi oluştur. – NineBerry