- - PR -
DataGridでの条件
1
| 投稿者 | 投稿内容 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-09-07 11:33
いつも参考にさせて頂いております。
z2といいます。 VisualStudio2003.netを利用して、ASP.NETの開発を試しています。 ログイン画面で入力したユーザIDをセッション変数に格納 ログイン画面からページを移動後に、ユーザIDが一致するレコードを DataGridで表示したいのですが、うまくいきません [WebForm1] Session.Item("session_id_code") = ユーザID [WebForm2] Private Sub Page_Load〜(略) Dim nwindConn As SqlConnection = New 〜(略) nwindConn.Open() Dim cmd As New SqlCommand("select * from テーブル名 where id_code=@id_code", nwindConn) cmd.Parameters.Add("@id_code", CType(Session.Item("session_id_code"), String)) Dim dr As SqlDataReader = cmd.ExecuteReader DataGrid1.DataSource = dr DataGrid1.DataBind() dr.Close() nwindConn.Close() End Sub 実行後のエラーメッセージは 準備されたステートメント '(@id_code nvarchar(4000))select * from notify_table where id_cod' ではパラメータ @id_code が必要ですが、指定されていません。 宜しくお願いいたします。 | ||||||||||||
|
投稿日時: 2005-09-07 12:36
そうまです。こんにちは。
ここが怪しいのかなって思います。 このコードではSeesionに維持している値が設定できていないのではないでしょうか? サンプルがC#で申し訳ないですが、こんな感じでうちは動いてます。
的外れでしたらごめんなさい。 | ||||||||||||
|
投稿日時: 2005-09-07 13:04
id_code の型は?
やったことないから分からないですけど、 id_code が Int とかの場合、パラメータに String 渡してもいいのかな? | ||||||||||||
|
投稿日時: 2005-09-07 14:04
そうまさん様、囚人様返信ありがとうございます
cmd.Parameters.Add(New SqlParameter("@id_code", System.Data.SqlDbType.NVarChar, 4000))cmd.Parameters("@id_code").Value() = (CType(Session.Item("session_id_code"), String)) 上記のコードに直してみましたが、同じエラーメッセージが表示されます
DBのid_codeの型はvarcharに設定しています。 試しに cmd.Parameters.Add("@id_code", "IDコード") セッションではなく直接@id_codeを指定すると結果は表示されます。 | ||||||||||||
|
投稿日時: 2005-09-07 15:05
本当にSession["session_id_code"]には、期待した値がはいっているのでしょうか?
| ||||||||||||
|
投稿日時: 2005-09-07 15:22
こいつが正しい値を返していないということのように思えます。 デバックで止めてみて、一度値を確認してみてはどうでしょうか? | ||||||||||||
|
投稿日時: 2005-09-07 16:12
burton999様、そうまさん様返信ありがとうございます
sessionに期待した値が入っていませんでした。 ログイン画面からページ移動する際のアドレスが間違っていました。 [WebForm1] (ログイン画面) アドレス http://localhost/WebApplication1/WebForm1.aspx [WebForm2] (DataGridでの表示画面) アドレス http://サーバ機のアドレス/WebApplication1/WebForm2.aspx これではsessionが取得できないわけです。 ログイン画面のアドレスをlocalhostからIPに変えたところうまくいきました。 返信してくださった、そうまさん様、囚人様、burton999様ありがとうございました。 | ||||||||||||
1
