以下は、私のトリミングされた C# です。
thisConnection.Open();
string commandtext = "Insert into Table (Comments)values('@Comments')";
SqlCommand command = new SqlCommand(commandtext, thisConnection);
command.Parameters.Add("@Comments", SqlDbType.VarChar).Value = Comments;
command.ExecuteNonQuery();
thisConnection.Close();
データベースに入力する前に特定の特殊文字を取り除くことで、ほとんど何でも入力できます。変数に追加しようとしまし.Replace("'","''");
たComments
が、これは何も変更しません。パラメータを使用すると、とにかくこれを防ぐことができます。
このような質問が多く寄せられていることは知っていますが、どこでも「パラメーターを使用してください!」と指摘するだけです。
編集: 4 人が同じことを言っているので、ここですべて返信します。前後の一重引用符を削除しました@Comments
が、問題はまったく同じです。一重引用符で囲まれた入力は、データベースにはまったく入力されません。
ここに来る前にJavaScriptを追加しまし.replace(/'/g,"''")
たが、これは機能していますが、なぜそうしなければならないのかわかりません。