2016-09-13 9 views
0

SQLiteデータベースを使用して情報を格納するUWPアプリケーションを設計しています。以前の研究から、SQLite関数SQLiteConnection.Update()SQLiteConnetion.Insert()を使用すると、データベースに入力する前に入力が消毒されるので、安全に使用できます。この場合、パラメータ化が必要ですか?

私は、そのデータをオンラインデータベース(この場合はSQL Server)と同期する必要があります。以前にSQLiteデータベースの挿入によってデータがサニタイズされていた場合、SQL Serverデータベースに渡す前にサービス層を使用してオブジェクト値をパラメータ化する必要がありますか?

単純な仮定では、SQLite入力によってサニタイズされているにもかかわらず、技術的に未処理の文字列であるため、メインデータベースに影響を与える可能性があるためです。

"疑問があれば、パラメータ設定する"というアイデアを採用するだけでいいですか?

+2

一言で言えば:はい。あなたが疑問に思っているだけでなく、常に*であるならば、より良いことになります。 –

答えて

2

私はいつもSQLパラメータを使うべきだと言います。あなたがそうする必要がある理由はいくつかあります:

  • セキュリティ。
  • パフォーマンス。パラメータを使用すると、実行計画の再利用が増加する可能性があります。詳細はarticleを参照してください。
  • 信頼性。文字列を連結してSQLコマンドを作成すると、間違いを起こしやすくなります。
+2

+変換エラーを回避する。代わりに、通常、すべてを強制的に文字列に変換し、データベースエンジンにすべてを自然なデータ型に変換させる必要があります。 –

関連する問題