たとえば、SQLではVB.netでSQLの文字列をエンコードする方法
すべては ``右に置き換える必要がありますか?
まあ、そのようなことは既に行っているvb.netによって組み込まれている関数はありますか?
私はそれをエンコードする必要はありません。
ところで、私はSQLデータベースに直接アクセスしません。基本的に私はテキストファイルを作成しており、そのテキストファイルには未処理のSQL文が含まれています。答えのほとんどはSQLデータに直接アクセスすることを扱います。
たとえば、SQLではVB.netでSQLの文字列をエンコードする方法
すべては ``右に置き換える必要がありますか?
まあ、そのようなことは既に行っているvb.netによって組み込まれている関数はありますか?
私はそれをエンコードする必要はありません。
ところで、私はSQLデータベースに直接アクセスしません。基本的に私はテキストファイルを作成しており、そのテキストファイルには未処理のSQL文が含まれています。答えのほとんどはSQLデータに直接アクセスすることを扱います。
私は、このようなものが関連する唯一のケースは、パラメータなしでインラインSQLコマンドを実行していたと思います。
これはSQL Injectionの危険性を持っているので、あなたはこのようなコマンドを作成する必要があります。
Dim cmd As New SqlCommand("UPDATE [TableA] SET [email protected] WHERE [email protected]", Conn)
cmd.Parameters.Add("@ColumnA", SqlDbType.NVarChar).Value = txtColumnA.Text
cmd.Parameters.Add("@ID", SqlDbType.Int).Value = ID
cmd.ExecuteNonQuery()
string
を使用している場合は、コードに"
を使用するため、これらの文字をエスケープする必要はありません。
Dim mySql As String = "SELECT `MyColumn` FROM `Table`"
いけないが、これを試してみてください!私は、SQLインジェクションを避けようとしていることを知っているので、セキュリティについて考えて褒められるべきです。しかし、自分のsanitisationルーチンを圧延することは、間違ってしまうのは簡単なことです。パラメータを使用するための
cmd.CommandText = "select * from customer where id=?id";
cmd.Parameters.AddWithValue("?id",CustomerIDValue);
これらを挿入にどのように使用すればよいでしょうか?パラメータを文字列として格納します。追加しないと、パラメータが使用されていないことを示すプログラムがクラッシュします。 – DavidB
1の線に沿ってあなたのクエリで
使用パラメータ。人々がSQLクエリを作成するために 'String.Format'を使用しているのは驚くべきことです... –
Grr ..誰かが私に答えて<= 1分で打ち負かすと嫌いです。よく終わった。 –
私は自分のカスタムSQL文字列置換関数を使用していた頃にうんざりしていましたが、私のハッキングされた死んだウェブサイトもそうです:( – Curt