- PR -

i-modeの入力フォームから半角空白をDBに登録できません。

1
投稿者投稿内容
みょんぴる
会議室デビュー日: 2004/06/08
投稿数: 2
投稿日時: 2004-06-08 14:07
はじめまして。今回が初の投稿になります。
今回ASP(HTML)で開発を行ってます。
下記事象でもしご存知の方いらっしゃいましたら、ご教授願います。

【ASP実行環境】
 OS:Win2000 Server
 DB:SQL Server
【事象】
 携帯端末のWeb入力フォーム(TEXTBOX)より入力された値("田中 一郎")をDBにinsert
 しようとしたときに下記@、Aの結果になります。
 ※1.携帯の機種によって結果が違いました
 ※2.田中 一郎は半角空白で区切ってます。
 
 @DBへの接続が失敗しました。のエラーが表示される。(機種:docomo/SH505)
 ADBには登録されてるが"田中"としか登録されない。
  半角空白部分でデータ切れてしまってる。(機種:docomo/N504is,P251is)

 原因としてはおそらく【半角空白】が原因だと思いますがなぜそうなるのかは
 まったくわからない状態です。
 ちなみに全角の場合うまくいくみたいです。
 また、説明が不足してるようでしたご指摘願います。
小野@どっとねっとふぁん
ぬし
会議室デビュー日: 2001/10/30
投稿数: 402
投稿日時: 2004-06-08 19:58
どんなデータがサーバにあがってきてるのか、を確認するのが最初でしょうね。
HTTPの場合、通常日本語はエンコードされてPOSTされ、サーバ上でデコードされて
いると思います。
このあたりでうまくいってない状況なんじゃないでしょうか。

ASPの内部で取れる値、というより、サーバに直に通信されている値を
ログあたりからひろって、確認してみるのがよいかと思います。
みょんぴる
会議室デビュー日: 2004/06/08
投稿数: 2
投稿日時: 2004-06-11 13:28
小野@どっとねっとふぁんさん、どうもありがとうございます。
取得したデータを確認し、画面に表示させて見ました。
で、一応取得してるみたいなので色々試して見た結果、
insertのvalue値をシングルクォーテーションで囲って登録したら
うまくいきました。
初歩的な事で申し訳ありませんでした。
また、アドバイス、本当にありがとうございました。

strSql = "insert into ATUSER ("
strSql = strSql & " MISECD "
strSql = strSql & ",MEI "
strSql = strSql & ",MAIL "
strSql = strSql & ",TAJOBI "
strSql = strSql & ",JUSHOCD "
strSql = strSql & ",SEX "
strSql = strSql & ",MOTOCD "
strSql = strSql & ",SHICHOKBN "
strSql = strSql & ",TOROKUYMD "
strSql = strSql & ",UPDATEDATE "
strSql = strSql & ",TOKEKBN ) values ("
strSql = strSql & " '" & Request.QueryString("MISECD") & "'"
strSql = strSql & ",'" & Request.QueryString("MEI") & "'"
strSql = strSql & ",'" & Request.QueryString("MAIL") & "'"
strSql = strSql & ",'" & Request.QueryString("TAJOBI") & "'"
strSql = strSql & ",'" & Request.QueryString("JUSHOCD") & "'"
strSql = strSql & ",'" & Request.QueryString("SEX") & "'"
strSql = strSql & ",'" & Request.QueryString("MOTOCD") & "'"
strSql = strSql & ",'0'"
strSql = strSql & ",CONVERT(CHAR,getdate(),112)"
strSql = strSql & ",getdate() "
strSql = strSql & ",'0') "
1

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