- PR -

データセットの内容は保持できないんでしょうか?

1
投稿者投稿内容
大ベテラン
会議室デビュー日: 2003/09/16
投稿数: 193
お住まい・勤務地: 千葉県
投稿日時: 2003-11-05 14:08
すみません どなたか、ご教授願います

ASP.NET VB.NET で PAGE_LOAD にて データセットにFILLを
かけて、ボタンクリック時に、DATAVIEWのROWFILTERを実行すると
抽出されません。 ボタンクリック時に、FILLを異動すると、うまく抽出されます。
データセット内は、イベントの度にクリアされてしまうのでしょうか?
WINDOWSアプリケーションを作成している人は、保持されると教えてくれるのですが・・・

やりたい事は、DBデータ(個人台帳)の取り込みを、ログイン画面起動時のみにしたい。
ログインボタンを押下時は、ユーザーIDの存在チェックのみにしたいのですが・・・・・
毎回、DBを読まないとだめでしょうか?

コネクタ、アダプタ、データセット、データビュー はともに、デザイナの方で作成しました

コード
---------------------
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

If Not IsPostBack Then
OleDbDataAdapter1.Fill(人事1, "個人台帳")
End If
end sub
---------------------
Private Sub cmd_login_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_login.Click

If mysec(txtusername.Text, txtpassword.Text) Then
FormsAuthentication.RedirectFromLoginPage(txtusername.Text, False)
End If

lblerror.Text = "ログイン認証に失敗しました。"
End Sub
---------------------
Private Function mysec(ByVal strusername As String, ByVal strpassword As String) As Boolean

  Dim i As Integer
  '''''' OleDbDataAdapter1.Fill(人事1) --->(1)
   Me.人事View1.RowFilter = "個人コード = '" & strusername & "'"
  i = Me.人事View1.Count

  If 人事View1.Find(strusername) = 1 Then
  Return True
  Else
  Return False
  End If
End Sub
   
(1) のコメントを生かすとうまく動作します

すみません、過去ログも探したつもりですが、書き込みました
KIMERA
大ベテラン
会議室デビュー日: 2003/02/28
投稿数: 112
お住まい・勤務地: 兵庫県・大阪府
投稿日時: 2003-11-05 14:41
こんにちわ。
Webフォームでは、イベント毎というか、Postback毎にデータが破棄されると思いますが
イベントに対してPostbackを行っているのでそれが原因ではないでしょうか?

そうであれば取得したものを一時的にセッションに入れて保持するなどをしてみたらどうでしょう?
大ベテラン
会議室デビュー日: 2003/09/16
投稿数: 193
お住まい・勤務地: 千葉県
投稿日時: 2003-11-07 10:24
すみません、お休みを頂いていたため
遅くなってしまいました

どうも、ありがとうございました
セッションを使用して、うまく行きました
1

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