none
複数行TEXTBOX(改行あり)のDB更新について RRS feed

  • 質問

  • はじめまして。
    下記環境にて開発しております。

      ・VisualStudio2003(VB.NET)
      ・SQLServer2000

    WebページにTEXTBOXを配置し、Multilineに設定し複数行入力
    可能にしています。
    そこに入力された文字列を、DBのTEXT型の項目にセットし、
    再度、TEXTBOXへ表示すると改行コードがなくなり、1行になって
    表示されてしまいます。

    ただし、DBに直接入力して、改行させた文字列は改行されて表示
    されました。

    DB更新時に、改行コードを変換する必要等があるのでしょうか。
    何か対処方法がありましたら、ご教授ください。

    よろしくお願いします。


     

    2006年12月7日 10:54

回答

  • では、DB は関係ないという話です。

    txtBinko が件の MultiLine に設定したテキストボックスのインスタンスだと仮定しますが、通常は txtBiko.Text には「\r\n」等の改行コードが入っているはずです。すみませんが、もう少し正確なコードを出してもらえますか?そしてもう少しデバッグして下さい。

    TextBox には Text というプロパティはありますが、text というプロパティはありませんし、「備考」の値をシングルクォーテーションで囲もうとしているようですが、閉じがありません。(パラメタライズドクエリを使うべきですが)

    2006年12月7日 15:26

すべての返信

  • デバッグしましたか?どこで改行が消えてしまったのか確認しましょう。
    2006年12月7日 11:39
  •  囚人 さんからの引用
    デバッグしましたか?どこで改行が消えてしまったのか確認しましょう。

    書き込みありがとうございます。

    下記、SQLを生成するときに、txtBikoという複数行の項目を使用しています。

       sqltext = "UPDATE  tblTEST  SET  備考=’" & txtBiko.text  &  "’"

    txtBiko.text をウォッチ式にいれて確認したところ、

    画面の入力値:
    てすと1(改行)
    てすと2(改行)
    てすと3

    txtBiko.textのウォッチ式:
    てすと1てすと2てすと3


    更新後、データを再表示すると、改行がなくなっている状態です。
    DBも確認したところ、一行になってしまっていました。

    ブラウザは、IE6Sp2を使用しています。

    2006年12月7日 13:50
  • では、DB は関係ないという話です。

    txtBinko が件の MultiLine に設定したテキストボックスのインスタンスだと仮定しますが、通常は txtBiko.Text には「\r\n」等の改行コードが入っているはずです。すみませんが、もう少し正確なコードを出してもらえますか?そしてもう少しデバッグして下さい。

    TextBox には Text というプロパティはありますが、text というプロパティはありませんし、「備考」の値をシングルクォーテーションで囲もうとしているようですが、閉じがありません。(パラメタライズドクエリを使うべきですが)

    2006年12月7日 15:26

  • >囚人さん
     アドバイスありがとうございました。
     結論としては、当方のデバッグ不足でした。。。

     次回は、しっかりデバッグしてから書き込みたいと思います。

    2006年12月11日 4:59