- - PR -
[JavaからSQL]改行文字とバックスラッシュの扱いについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-01-20 16:14
初めまして、こんにちは。
今、JSPで入力された値をDBに登録するWebアプリを作成しています。 テキストエリアで書かれた値をDBのText型に登録したいのですが、 下記のようなデータを入力しDBに登録するとデータが正しく登録されません。 どうやら改行の前に'\'文字が入る情報がうまく登録できないようです。 (その他のデータは正常に登録できています。) 回避方法を調べましたが情報が少ないので情報を持っている方がいらっしゃいましたら 助言をお願いします。 (バッグスラッシュで表示される部分は全て円マークです) 開発環境 Java1.4.2 Windows XP Pro SP2 SQL Enterprise ManagerにてDB製作 ↓登録したいデータ \\\\ \\\ \\ \ ↓登録されるデータ \\\\\\\ ↓デバッグで取得したINSERT文 INSERT INTO UserComment ([ユーザー名], [コメント])VALUES ('うううう','\\\\ \\\ \\ \') よろしくお願いします。 | ||||
|
投稿日時: 2005-01-20 16:26
自己スレです。
すいません。どうしたいのかを書くのを忘れてしまいました。 このデータは登録した後、再度表示したいので、改行も正しく登録され、\マークも入力された通り登録したいと思っています。 ↓JSPのTextAreaに入力されたデータ \\\\ \\\ \\ \ ↓再度JSPのTextAreaに表示したいデータ \\\\ \\\ \\ \ 希望の形は上記の通りです。よろしくお願いします。 | ||||
|
投稿日時: 2005-01-20 16:33
度重なる自己レス申し訳ありません。
1番初めに「デバッグで取得した文字列」を記述しましたが、デバッグ環境はEclipse2.1.2です。 | ||||
|
投稿日時: 2005-01-20 17:49
バインド変数をつかってみました?
| ||||
|
投稿日時: 2005-01-20 18:03
返答ありがとうございます。
「バインド変数」というものは初めて聞きました。 私はjava.sqlのクラスだけ使ってDBにアクセスしています。 「バインド変数」がどんなものなのか全然わからないので、勉強してきます。 | ||||
|
投稿日時: 2005-01-21 11:57
自己レスです。掲示板でも色々なところで助言を頂いて解決致しました。
回避方法としては円マークを2倍にして改行も2倍にする方法で回避しました。 助言頂いたバインド変数は只今勉強中です。 ありがとうございました。 | ||||
|
投稿日時: 2005-01-21 12:09
PreparedStatementをキーワードに調べてみてください。 | ||||
|
投稿日時: 2005-01-24 10:27
アドバイスありがとうございます。
早速PreparedStatementを調べてみました。 それで、バインド変数についても色々調べましたが、 データベースについての知識が足りないということがわかりました。 なのでもう少し丁寧に勉強したいと思います。 ありがとうございました。 |
1