私はテキストフィールドとそのSQLステートメントを壊しています。どのように私はそのフィールドのすべての文字をエスケープするのですか? parametrised SQLは、すべての入力値をエスケープし、SQLインジェクション攻撃からあなたを保護するのに役立ちます使用C#でsqliteを使用したSQLエスケープ
SQLiteCommand cmd = _connection.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "SELECT * FROM MyTable WHERE MyColumn = @parameter";
cmd.Parameters.Add(new SQLiteParameter("@parameter", textfield));
SQLiteDataReader reader = cmd.ExecuteReader();
:私はあなたがのようにパラメータを使用する必要がありますC#でhttp://sqlite.phxsoftware.com/で
私は複数のparamsを持っている場合、私は何をしますか?私は= cmd.CommandTextを書くのですか」... @パラメータ... @parameter "; cmd.Parameters.Add(...); cmd.Parameters.Add(...);? –
はい、配列の配列を渡すことができるAddRangeメソッドもあります。 –
パラメータの配列を受け入れるParameters.AddRangeを頼んだり使用したりして、Parameters.Addを何度も呼び出すことができます。 – bstoney