DOBON.NETプログラミング道掲示板

No34173 の記事


■34173 / )  Re[2]: ポルトガル語の登録
□投稿者/ あばば無人君 一般人(2回)-(2019/03/01(Fri) 10:14:41)
  • アイコンNo34172に返信(魔界の仮面弁士さんの記事)
    > SqlParameter の SqlDbType が Text になっていたりはしませんか?
    >
    > たとえば下記の場合、
    > パターン 1 と 3 では正常に書き込まれますが、
    > パターン 2 の時にはアクセント記号が失われます。

    非常に分かりやすいサンプル、ありがとうございます。
    そして参画している案件のSQL発行方式では非常にまずいことがわかりました・・・。

    当案件ではINSERT文を発行する時は
    string sql = "INSERT INTO Test (Id, Message) VALUES (1, N'ポルトガル語')";
    cmd.CommandText = sql;
    cmd.ExecuteNonQuery();
    という風にパラメータを使用せず、直にVALUESの文字列まで含めたSQLを生成しています。

    この発行方式ですとnvarcharカラムのデフォルトのSqlDbTypeが「Text」になってしまう様ですね・・・。

    発行方式の変更をプロジェクトメンバーと検討しようと思います。
    本当にありがとうございました。

    しかし質問しておいてなんですが、何故この様な知識をお持ちなのでしょうか?
    私は「SQLServer 2017 C# ポルトガル語 登録 アクセント記号 消える」のキーワードで
    検索しても1件もヒットしなかったので不思議です。

違反を報告
返信 削除キー/


Mode/  Pass/


- Child Tree -