- PR -

ドロップダウンリスト値の登録

投稿者投稿内容
3m
常連さん
会議室デビュー日: 2004/11/05
投稿数: 34
投稿日時: 2004-11-17 10:21
こんにちは。お世話になっております。
「ドロップダウンリストについて」というスレを読んだのですが初心者で解決策がわからないので質問します。

まず、私がしたいことは
1.登録ボタンを押下にてドロップダウンリストの値を取得
2.データベース(SQLServer)「リストコード」テーブルに接続し、取得したドロップダウンリスト値からコード番号を取得(SELECT コード FROM リストコード WHERE 事由 = 取得したドロップダウンリスト値)
3.そのコード番号をデータベース「基本データ」テーブルへ登録

今の状況は「基本データ」へ登録した時にコード番号が常に「0」になってしまっているということです。
ドロップダウンリスト値の取得は
「Code.SelectedItem.Value」にて取得しています。
値が取れていないのでしょうか?

よろしくお願いします。
まゆりん
ぬし
会議室デビュー日: 2002/08/12
投稿数: 539
お住まい・勤務地: よこはま
投稿日時: 2004-11-17 10:48
とりあえず環境と参照先のURLは提示してください。
#スレッド作成画面に「参照元記事URL」という項目があるのでそれを利用すると良いです。

Webであれば、ドロップダウンリストのValueに何も設定していないと思われるのですが?
そもそもドロップダウンリストの値をどうやって設定しているのかという説明が無いので、
申し訳ありませんが私の力では何とも言えません・・・。

また「Code.SelectedItem.Value」の部分を疑っているようでしたら、
そこにブレークポイントを置いてデバックしてみては如何でしょうか?
結果から原因を探すより、手順を追ってデバッグしてみたりすると
容易く原因が見つかるかも知れませんよ。

#一部修正
_________________
徒然なるままに

[ メッセージ編集済み 編集者: まゆりん 編集日時 2004-11-17 10:53 ]
えんぞ@?
ぬし
会議室デビュー日: 2004/07/06
投稿数: 271
お住まい・勤務地: はまっこ
投稿日時: 2004-11-17 10:52
問題の切り分けが必要なので、まずはどこが原因か突き止める必要があるかと思います。
 1.にて値が取得できているかどうか
 2.にてSQL文が正しく取得できているかどうか(SQL文は正しいか)
 3.にて正しく更新が行われているかどうか(SQL文は正しいか)

まずはデバッグにて順番に、どこに原因があるか追求しましょう

# 被った...

[ メッセージ編集済み 編集者: えんぞ@見習 編集日時 2004-11-17 10:53 ]
3m
常連さん
会議室デビュー日: 2004/11/05
投稿数: 34
投稿日時: 2004-11-17 11:55
まゆりんさん、えんぞ@見習さん
ありがとうございます。

まゆりんさん----

>とりあえず環境と参照先のURLは提示してください。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=9610&forum=7
WebMatrixにてASP.NET(VB)の開発をしております。
言葉不足ですみません。

>そもそもドロップダウンリストの値をどうやって設定しているのかという説明が無いので、申し訳ありませんが私の力では何とも言えません・・・。
ドロップダウンリストの値はデータベースより取得しております。


えんぞ@見習さん-----
>1.にて値が取得できているかどうか
ドロップダウンリストの値が取得されているのかテキストボックスへ表示させてみました。
Sub code_SelectedIndexChanged(sender As Object, e As EventArgs)
TextBox1.text = gCode.SelectedItem.value
End Sub
結果は値が取れてませんでした。
このような書き方では値は取れないのでしょうか?
まゆりん
ぬし
会議室デビュー日: 2002/08/12
投稿数: 539
お住まい・勤務地: よこはま
投稿日時: 2004-11-17 12:22
引用:

mawさんの書き込み (2004-11-17 11:55) より:

>そもそもドロップダウンリストの値をどうやって設定しているのかという説明が無いので、申し訳ありませんが私の力では何とも言えません・・・。
ドロップダウンリストの値はデータベースより取得しております。


えんぞ@見習さん-----
>1.にて値が取得できているかどうか
ドロップダウンリストの値が取得されているのかテキストボックスへ表示させてみました。
Sub code_SelectedIndexChanged(sender As Object, e As EventArgs)
TextBox1.text = gCode.SelectedItem.value
End Sub
結果は値が取れてませんでした。
このような書き方では値は取れないのでしょうか?



値が取れない・・・とは0バイト文字列("")になっているということでしょうか?
だとすれば値を取得する前の処理、即ちドロップダウンの値をDBから取得しているところに
原因があるのではないかと予想できますよね?

実行してブラウザに表示されたドロップダウンリストのHTMLを見てみてください。
optionタグにvalueが設定されていますか?
_________________
まゆりん @ わんくま同盟
Blog る。
3m
常連さん
会議室デビュー日: 2004/11/05
投稿数: 34
投稿日時: 2004-11-17 12:40
>だとすれば値を取得する前の処理、即ちドロップダウンの値をDBから取得しているところに原因があるのではないかと予想できますよね?
私もそう思いましたが…
htmlのソースを見てみてもoption valueは設定されているのです。

AutoPostBackなどの設定は必要なのでしょうか?
AutoPostBackをTrueにするとドロップダウンリストの初めの値のみをテキストボックスで取得できました。(どの項目を選択してもテキストボックスに表示される値は初めの値です)
えんぞ@?
ぬし
会議室デビュー日: 2004/07/06
投稿数: 271
お住まい・勤務地: はまっこ
投稿日時: 2004-11-17 13:13
推測ですが、PostBack発生時Page_Loadなどで再度DropDownListへDBから取得した値を設定したりしてませんか?
まゆりん
ぬし
会議室デビュー日: 2002/08/12
投稿数: 539
お住まい・勤務地: よこはま
投稿日時: 2004-11-17 13:17
引用:

mawさんの書き込み (2004-11-17 12:40) より:
(どの項目を選択してもテキストボックスに表示される値は初めの値です)


なるほど。。。

では、こちらはどうでしょう?
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=8369&forum=7
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=6419&forum=7
私のレスがヒントになります。

#今度は私が被った・・・
_________________
徒然なるままに

[ メッセージ編集済み 編集者: まゆりん 編集日時 2004-11-17 13:20 ]

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