SQL Injection can occur when you build statements by concatenating user input into SQL statements, for instance:
stmt = "INSERT tbl (a, b) VALUES('" + a.text + "','" + b.text + "')"
The this permits the user to enter something with a single quote and all of a sudden there is a different statement. This is a very bad coding pattern which you must never use.
I have an article on my web site where I discuss dynamic SQL, and it includes a section of how to write parametrised statements and there is also a chapter on SQL injection. You find it here: http://www.sommarskog.se/dynamic_sql.html.