0

sqlserver 2008 データベースに特殊文字を挿入したいと考えています。たとえば ('/@#&*$) など。

次のコードを試しましたが、これらの文字列を元の文字列から削除します。

string[] arrtime = postingtime.Split(',');
                            string sss = arrtime[1];
                            string sss1 = "EDT";
                            bool first2 = true;
                            string s33 = Regex.Replace(sss, sss1, (m) =>
                            {
                                if (first2)
                                {
                                    first2 = false;
                                    return "";
                                }

                                return sss1;

                            });

しかし、これらの文字列を元の文字列から削除したくありませんでした...フランス語のデータを挿入したいので、これらの特殊文字を削除すると文の意味が変わります。

私の挿入クエリは次のとおりです。

  cn.Open();
        adp.InsertCommand = new SqlCommand("insert into ttt values('r=DE'S''C/pa-ge=1/$@')", cn);
        adp.InsertCommand.ExecuteNonQuery();
        cn.Close();

挿入ボタンをクリックすると、エラー(データ型エラー)が発生します。私の問題は、特殊文字を含む文字列を挿入して、これらの文字を削除しないことです。これらの文字を C# アプリケーションから SQL Server 2008 に渡したいです。事前に感謝

4

3 に答える 3

1

SQL インジェクションに対して脆弱な挿入クエリ..SqlParameters を使用してみてください。および SQLServer User NVarchar データ型。

using (SqlConnection con = new SqlConnection(dc.Con))
            {
                using (SqlCommand cmd = new SqlCommand("insert into ttt values(@paramValue)", con))
                {

                    cmd.Parameters.AddWithValue("@paramValue", "r=DE'S'C@4593§$%");
                    con.Open();
                    cmd.ExecuteNonQuery();
                }

            }
于 2013-08-27T07:18:06.460 に答える