- ベストアンサー
テキストボックスに入力された文章(改行、空白を含む)をデータベースに入れる
フォームにユーザーがタイプできるテキストボックスがあり、 タイプした情報をデータベースに入れるようにしてるのですが、 例えばユーザーがタイプした文字などは正常にストアされるのですが 改行や、スペースなどは保存されません。 どのようにすれば保存されるのでしょうか? ご存知の方がいらっしゃりましたらアドバイスお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ごめんなさい。ねぼけてました。Splitしてどうするorz #1の発言は見なかった事にして下さい…。 DBには格納されているけれどHTML上で確認出来ない、というケースを想定しています。違ってたらごめんなさい。 #情報が少ないので推測するしかないのです #せめてサーバ環境(ASP.Net(C#)+Accessとか)教えてもらえないと…。 #さらに出来れば失敗している箇所のソースを提示してもらえたらいいと思います。 If InStr(DB_Value, vbCrLf) > 0 Then DB_Value = Replace(DB_Value, vbCrLf, "<br>", 1, -1, 1) End If If InStr(DB_Value, " ") > 0 Then DB_Value = Replace(DB_Value, " ", " ", 1, -1, 1) End If
その他の回答 (1)
- tamaCo
- ベストアンサー率66% (47/71)
ASPから離れて久しいので見当違いならごめんなさい。 「保存されない」というのはどのように確認していらっしゃるのでしょうか?HTMLに吐き出している?DBに直接接続して確認している? 情報が少ないのでちょっと判りかねますが、おそらくDBには格納されているのだと思います。 取り出した後の表示の仕方に難があるのではないでしょうか。 If InStr(DB_Value, vbCrLf) > 0 Then ' ** 改行コードを<br>に変換 DB_Value = Split(DB_Value, vbCrLf, "<br>", -1, 1) DB_Value = Join(DB_Value) End If If InStr(DB_Value, " ") > 0 Then ' ** 半角スペースをを&nbsp;に変換 DB_Value = Split(DB_Value, " ", " ", -1, 1) DB_Value = Join(DB_Value) End If Response.Write DB_Value ご参考になれば…。
補足
アドバイスありがとうございます。 おっしゃるとおり情報不足でした。環境はASP.NETとMySQLです。 失敗というか、やり方すらわからないので今は session("Text") = txtTextBox.text insert into Message set Text = '"session("Text") "'; こんな感じで処理しています。 データタイプはVarchar(500)に設定しています。 もし他にも何かアドバイスして頂けるならとてもありがたいです。