少なくとも2番目の例では、MySqlCommandオブジェクトを使用しているようです。プリペアドステートメントを活用するには、接続オブジェクトとコマンドオブジェクトを破棄する必要はありません。また、CommandTextを設定した後、パラメータを設定する前に、prepareを呼び出すこともできます。
また、MySQLでプリペアドステートメントのパラメータには名前がなく、順序に基づいて指定されます。 CommandTextには、パラメーターがある場所に質問マークを含める必要があり、パラメーターオブジェクトは正確にその順序で追加する必要があります。