C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.91825 の関連記事表示

<< 0 >>
■91825  DataGridViewを利用したログイン画面の作成
□投稿者/ 逃避行動 -(2019/08/06(Tue) 17:12:55)

    分類:[VB.NET/VB2005 以降] 

    初めての書き込みになります。

    完全初心者なので説明不足の部分が多々あるかと思いますが、
    ご助力のほどお願いいたします。

    まず、環境について

    ・windows10
    ・visalstudio2017
    ・oracleDB

    現在ログイン画面を作成しております。
    教えていただきたいことは、DataGridViewにユーザの名前を表示しているのですが
    cellをクリックしたときパワーユーザ、一般ユーザを判断し、パスワードの入力項目を出力するといったものです。

    やりたい画面の動きとしては
    @ログイン画面表示

    ADataGridViewよりユーザ名を指定

    Bパワーユーザーの場合、パスワード入力項目(テキストやラベルなど)を表示

    C一般ユーザの場合、パスワード入力項目は表示されない

    また、DataGridView1には、データソース選択によりユーザ名を呼び出すテーブル(今後ユーザテーブルと記す)は入れておりますが、
    パワーユーザと一般ユーザを判別するテーブル(権限テーブルと記す)は、別テーブルになります。
    ユーザテーブルと、権限テーブルはDataSet.xsdにてリレーションしています。

    ユーザテーブルのカラムは「id」「氏名」
    権限テーブルのカラムは「id」「権限区分」

    権限区分よりパワーユーザか一般ユーザか判別しており
    パワーユーザは「1」
    一般ユーザは「0」になります。

    権限区分「1」のユーザ名を出力するSQL文を書くことはできますが、
    それをどうプログラムで表現し、上記記述のような動きにする方法がわかりません。

    恐らく、if文を使ってcellクリックされたユーザの権限が1の場合、パスワード入力項目を表示する
    といった感じだとは思うのですが、
    ソースを見ていただければわかるよう
    Dimなどの宣言の仕方がいまいちわかっておりません。

    下記ソースでは、どのユーザ名を指定しても入力項目が表示されるようになっています。

    Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    ''TODO: このコード行はデータを 'DataSet3.担当マスタ' テーブルに読み込みます。必要に応じて移動、または削除をしてください。
    Me.担当マスタTableAdapter.Fill(Me.DataSet3.担当マスタ)
    'DataGridViewの元となるデータを設定
    DataGridView1.MultiSelect = False
    DataGridView1.ColumnHeadersVisible = False
    Try
    Me.担当マスタTableAdapter.FillBy2(Me.DataSet3.担当マスタ)
    Catch ex As System.Exception
    System.Windows.Forms.MessageBox.Show(ex.Message)
    End Try
    End Sub

    Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged

    End Sub

    Private Sub Label2_Click(sender As Object, e As EventArgs) Handles Label2.Click

    End Sub

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click

    End Sub

    Private Sub DataGridView1_CellClick(ByVal col As Long, ByVal row As Long)

    Label2.Visible = True
    TextBox1.Visible = True
    Button3.Visible = True

    End Sub

    End Class

    ごちゃごちゃしてますが、よろしくお願いいたします。
親記事 /過去ログ158より / 関連記事表示
削除チェック/

■91837  Re[1]: DataGridViewを利用したログイン画面の作成
□投稿者/ WebSurfer -(2019/08/07(Wed) 10:16:55)
    No91825 (逃避行動 さん) に返信

    Windows Forms アプリで Oracle DB にあるユーザー情報でユーザー認証・承認をする、さらに
    DataGridView を使うというのが自分的には理解不能で、見当違いのことをされているような気
    もしますが・・・

    ASP.NET の Membership オブジェクトと Roles オブジェクトを Windows Forms アプリケーシ
    ョンでも利用できますので、それを考えてみてはいかがですか? 具体的には以下の記事を見
    てください。

    Windows Forms アプリで Membership を利用
    http://surferonwww.info/BlogEngine/post/2014/02/11/aspnet-membership-and-roles-objects-usable-in-windows-forms-application.aspx

    上記はユーザー情報のストアには SQL Server を利用していますが、MemberShip / Role プロ
    バイダを Oracle に合わせてカスタム実装すれば同じことができるはずです。

    とりあえず、まずすべて .NET Framework に用意されている SQL Server 用のプロバイダで実装
    してみて、それが使えるようなら Oracle 用のカスタムプロバイダを実装してみてはいかがです
    か?
記事No.91825 のレス /過去ログ158より / 関連記事表示
削除チェック/

■91840  Re[2]: DataGridViewを利用したログイン画面の作成
□投稿者/ 逃避行動 -(2019/08/07(Wed) 11:02:19)
    No91837 (WebSurfer さん) に返信
    > ■No91825 (逃避行動 さん) に返信
    >
    ご返信いただきありがとうございます。

    今、VB6のソースコードをvb.netで使えるようにしているのですが…
    すこし手法を再度検討してみます。

    いただいたURLも参考にさせていただきます。
    ありがとうございました!
記事No.91825 のレス /過去ログ158より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -