2011-05-28 16 views
5

Bazı operatörleri querystring parametreleri olarak aktarmak istiyorum, böylece bir değeri SQL sorgusuna dönüştürebilirim.Querystring'de "> =" ile nasıl geçersiniz?

=, >=, >, < and <= 

I: Fikir sayfa fiyatları şöyle daha az veya daha az veya eşit, daha büyük, eşit veya daha büyük eşittir arama sonuçları döndürür Hava sorgu dizesi parametreleri belirlemesine izin olurdu Bu operatörleri geçmek için en iyi uygulamanın ne olduğundan emin değilim, kimse bana yardım edebilir mi? Ascii kodlarını veya basitçe e, gte, gt, lt, lte gibi metinleri geçip sorguyu oluşturan sonuçlar sayfasına dönüştürür müsün?

Teşekkürler çocuklar!

+0

Kullanım LINQ? Bu senin için yapar. – Puppy

cevap

12

Kullanıcı Kon'un dediği gibi, HttpServerUtility.UrlEncode kullanın. Ben bir kez Server.UrlEncode çağırmak zorunda kalmadan a tiny little class to simplify working with query strings yazdım.

Bir yan not olarak

, SQL injection aka Küçük Bobby Tablolar göz kulak:

Little Bobby Tables (Source)

+7

+1: Bobby'yi seviyorum! – MatBailie

+0

@Uwe Keim: Bu CW'yi, SO üzerinde en çok kullanılan alıntılanmış karikatürü yayınladığınızı görüyor musunuz? – gbn

+0

@gbn - lütfen cehaletimi bağışlayın, "CW" ne anlama geliyor? –

5
+0

Sgt Beardy'nin kendi querystring karakterlerinden bazılarını içeren bir kod snippet'i gösterebilir miydiniz? – DOK

+0

Eh, Server.URLEncode yaptıktan sonra ("> =") ve yeniden yönlendirmeden önce benim sorgu dizesi bu ekleme, ben URL'de bununla ... search.aspx? Operatörü =% 26gt% 3d & değerinin sonunda = 5 Ben daha sonra SQL sorguda kullanmak için dönüştürürken bu querystring parametresi üzerinde Server.UrlDecode kullanıyorum tahmin ediyorum? O zaman cevabında Uwe'dan bahsedildiği gibi SQL enjeksiyonu kontrol etmeliyim. Teşekkürler @Kon! :) –

+0

Evet, daha sonra parametreyi deşifre etmek için Server.UrlDecode'u çağırırsınız. SQL sorgusunun bu soruyla ne ilgisi olduğunu anlayamıyorum. Bu tamamen ayrı bir konu. Ve eğer parametreleştirilmiş saklı yordamları veya Varlık Modeli Çerçevesi gibi bir şey kullanıyorsanız (kullanmanız gerektiği gibi), SQL enjeksiyonu hakkında endişelenmenize gerek yoktur. – Kon

0

URL kodlama size aradığınızı kesinlikle. Web.Utils ad alanına bir göz atın.

İlgili konular