- PR -

[JavaからSQL]改行文字とバックスラッシュの扱いについて

1
投稿者投稿内容
daina
会議室デビュー日: 2005/01/20
投稿数: 6
投稿日時: 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 ('うううう','\\\\
\\\
\\
\')

よろしくお願いします。
daina
会議室デビュー日: 2005/01/20
投稿数: 6
投稿日時: 2005-01-20 16:26
自己スレです。
すいません。どうしたいのかを書くのを忘れてしまいました。
このデータは登録した後、再度表示したいので、改行も正しく登録され、\マークも入力された通り登録したいと思っています。

↓JSPのTextAreaに入力されたデータ
\\\\
\\\
\\
\

↓再度JSPのTextAreaに表示したいデータ
\\\\
\\\
\\
\

希望の形は上記の通りです。よろしくお願いします。

daina
会議室デビュー日: 2005/01/20
投稿数: 6
投稿日時: 2005-01-20 16:33
度重なる自己レス申し訳ありません。
1番初めに「デバッグで取得した文字列」を記述しましたが、デバッグ環境はEclipse2.1.2です。
raystar
ぬし
会議室デビュー日: 2003/01/16
投稿数: 251
お住まい・勤務地: Tokyo/Japan
投稿日時: 2005-01-20 17:49
バインド変数をつかってみました?
daina
会議室デビュー日: 2005/01/20
投稿数: 6
投稿日時: 2005-01-20 18:03
返答ありがとうございます。

「バインド変数」というものは初めて聞きました。
私はjava.sqlのクラスだけ使ってDBにアクセスしています。
「バインド変数」がどんなものなのか全然わからないので、勉強してきます。
daina
会議室デビュー日: 2005/01/20
投稿数: 6
投稿日時: 2005-01-21 11:57
自己レスです。掲示板でも色々なところで助言を頂いて解決致しました。
回避方法としては円マークを2倍にして改行も2倍にする方法で回避しました。
 助言頂いたバインド変数は只今勉強中です。
 ありがとうございました。
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2005-01-21 12:09
引用:

dainaさんの書き込み (2005-01-20 18:03) より:
「バインド変数」というものは初めて聞きました。
私はjava.sqlのクラスだけ使ってDBにアクセスしています。
「バインド変数」がどんなものなのか全然わからないので、勉強してきます。


PreparedStatementをキーワードに調べてみてください。
daina
会議室デビュー日: 2005/01/20
投稿数: 6
投稿日時: 2005-01-24 10:27
アドバイスありがとうございます。

早速PreparedStatementを調べてみました。
それで、バインド変数についても色々調べましたが、
データベースについての知識が足りないということがわかりました。
なのでもう少し丁寧に勉強したいと思います。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)