sql >> データベース >  >> RDS >> SQLite

execSQL:bindargsの方が優れていますか?

    方法1

    たとえば、SQLインジェクションからあなたを救います。
    それはあなたのためにデータ型を処理するからです。

    文字列の区切り文字を追加し、アポストロフィを変換することで、必要に応じて文字列を変換することを意味します。

    つまり:

    正しく機能するには、メソッド 2を作成する必要があります のように

    db.execSQL("INSERT INTO " + TableName + " VALUES (null, '" +  type.getName().replace("'", "''") + "')");
    

    だから...

    is the 1st example more secure? はい。
    faster when executing? そうであるかどうかわからない。
    easier to read はい、慣れたら(主に意見に基づいています)。
    ... or is it the same? いいえ、上記で説明したことについてです。




    1. Apache Zeppelinを使用したデータの視覚化–チュートリアル

    2. SQL Serverフェールオーバークラスターインスタンスのインストール–パート1

    3. 日付と時刻のデータのバケット化

    4. Oracleのsidとデータベース名を確認しています