Senin için ufak bir örnek yazdım. Bir incele istersen.
CInt olayına gelince. Bu tartışılır. Buraya sayısal olmayan bir değer geldiğinde asp.net parse exception atacaktır. Avantajı evet senin işini çözebilir ama bana göre biraz amatörce. Dezavantajı, bu da performans üzerinde gereksiz kayıp demektir (tüm application üzerinde)
Ayrıca teknik olarak bir diğer yanı ise .NET framework kullanırken eski VB komutlarını kullanmayı (CInt bunlardan biridir) bir çok MVP önermiyor ki benim de önerim değildir. Sebebi ise derledikten sonra CLR'i inceledikten sonra çıkıyor. Bu VB komutları worker processor'a fazladan gereksiz işlem yaptırıyorlar. Mesela bu convert işlemi CInt ile değil de Framework yapısında bulunan Integer.Parse ya da Convert.ToInt32 ile yapılsaydı en doğrusu bu olacaktı ki bunlar CLR'de tabiri caizse çok temiz şekilde tutulurlar.
Kod:
Module Module1
Sub Main()
Dim PortakalCon As New SqlClient.SqlConnection("Connection string buraya")
Dim Command As New SqlClient.SqlCommand
Command.Connection = PortakalCon
Command.CommandText = "SELECT falan,filan FROM tabloadi WHERE id=@id AND falan=@falan AND filan=@filan"
Dim par0 As New SqlClient.SqlParameter("@id", 1) 'Buraya Request.QueryString("id") girmende hiçbir sakınca yoktur.
Dim par1 As New SqlClient.SqlParameter("@falan", "falanca")
Dim par2 As New SqlClient.SqlParameter("@filan", "filanca")
Command.Parameters.Clear()
Command.Parameters.Add(par0)
Command.Parameters.Add(par1)
Command.Parameters.Add(par2)
'Sonrası malum...
End Sub
End Module