
Explanation/Reference:
Target 1: conn.Open();
Target 2: "SELECT id, name FROM books WHERE id =@id";
Example of how to use named parameters in CommandType.Text.
SELECT * FROM dbo.Customers WHERE CustomerID =@CustomerID
Target 3:cmd.Parameters.AddWithValue("@id", id);
Examples of AddWithValue usage:
cmdSQL.Parameters.AddWithValue("@CustomerID", CustomerID)
cmdSQL.Parameters.AddWithValue("@CartType", cartType)
Target 4: Id=readerGetGuid(Reader.GetOrdinal("id")),
Target 5: reader.GetString(Reader.GetOrdinal("name"))
Example of usage of GetOrdinal. Call GetOrdinal and assign value to variable.
int customerID = reader.GetOrdinal("CustomerID");
References:
https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.createcommand (v=vs.110).aspx
https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.commandtext(v=vs.110).aspx
https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.getordinal(v=vs.110).aspx