ADO.NET中SQL語法的參數

我不爬山,但常常爬文,許多時候都會看到一些關於在.NET程式碼中使用SQL語法的問題,而有許多問題是關於SQL參數傳遞的。 這些問題常都會以這種形式呈現:
SQLStr="Select * From myTable Where myNo= '" & Textbox1.Text & "'"

        我不爬山,但常常爬文,許多時候都會看到一些關於在.NET程式碼中使用SQL語法的問題,而有許多問題是關於SQL參數傳遞的。 這些問題常都會以這種形式呈現:
         SQLStr="Select * From myTable Where myNo= '" & Textbox1.Text & "'"
         這種形式的用法由來已久,尤其對於過去在沒有.NET時代就寫慣程式的人是非常熟悉的。
         不過這樣的寫法對於初學者來說,恐怕是一種痛苦的煎熬。
         小弟是滿佩服可以這樣寫的人,因為如果這個SQL敘述長一點,或是條件中的資料型別有很多種的時候,光是去找 [']或[#]有沒有配對正確的錯誤大概就可以把我搞瘋了。 所幸現在 .NET 2.0以後我們有了 <ParameterCollection 類別>,藉由這個類別我們可以輕鬆地加入參數,減少那些為了找尋[']或[#]配對所產生的錯誤的時間。
         以開頭的例子來說,可以改成SQLStr="Select * From myTable Where myNo = @myNo "
         然後將Parameter加入到SqlCommand(或OleDbCommand)的執行個體中,個人覺得這樣的作法不僅看起來清爽,而且除錯也容易一些。

   
   <Example>
   Dim SQLStr as string ="Select * From myTable Where myNo = @myNo "
   Dim myConn as New Sqlconnection(連線字串)
   Dim myCmd as New SqlCommand(SQLStr, myConn)
   myCmd.Parameters.AddWithValue("@myNo", Trim(TextBox1.Text))