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

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

C# と VB.NET の入門サイト

ログイン画面について


(過去ログ 2 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■1726 / inTopicNo.1)  ログイン画面について
  
□投稿者/ tomo 二等兵(1回)-(2005/10/25(Tue) 23:29:25)

分類:[VB.NET] 


分類:[VB.NET] 

tomoと言います。
「日経BP社/ひと目でわかるMsVB.NETデータベース開発入門」を参考にログイン画面を作成中です。こちらの参照内容外で申し訳ありません。
IDとpasswordを入力し正しければメインメニューを表示させたいと考えています。
現在Accessのテーブルには、OleDb接続を行っているのですが、どのように変更するのか…
大変未熟者で申し訳ないのですが、ご教授の程宜しくお願いします。

Public dbCtrl As DbControl

Protected Overridable Sub findData()
Dim cmd As SqlClient.SqlCommand = SqlConnection1.CreateCommand()
Dim dr As SqlClient.SqlDataReader
  cmd.Connection = SqlConnection1
SqlConnection1.Open()
cmd.CommandText = "SELECT password FROM tbl_logon where UID='" & txtuserId.Text & "'"
dr = cmd.ExecuteReader()
If dr.Read Then
If RTrim(dr("password")) = txtpassword.Text Then
MsgBox("IDを認証できました。")
Me.DialogResult = DialogResult.OK
Else
MsgBox("パスワードの間違えです")
End If
Else
MsgBox("IDの間違えです")
End If
dr.Close()
scn.Close()
End Sub

DbControlの内容

Public Class DbControl
Private oleCn As New OleDb.OleDbConnection
Public Sub DbConnect()
Dim StrCn As String
Dim dbName As String
dbName = dbName & "c:\Test\Test.mdb"
StrCn = " Provider=Microsoft.jet.OLEDB.4.0;"
StrCn = StrCn & " Data Source=" & dbName
oleCn.ConnectionString = StrCn
Try
oleCn.Open()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub

Public Function getDataTable(ByVal Sql As String) As DataTable
Dim oleDa As OleDb.OleDbDataAdapter
Dim dtTbl As New DataTable
Try
oleDa = New OleDb.OleDbDataAdapter(Sql, oleCn)
oleDa.Fill(dtTbl)
Catch ex As Exception
MsgBox(ex.Message)
End Try
Return dtTbl
End Function

Public Function executeSql(ByVal Sql As String) As Boolean
Dim oleCmd As OleDb.OleDbCommand
Try
oleCmd = New OleDb.OleDbCommand(Sql, oleCn)
oleCmd.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.Message)
executeSql = False
End Try
Return True
End Function
End Class


0
引用返信 編集キー/
■1734 / inTopicNo.2)  Re[1]: ログイン画面について
□投稿者/ tomo 二等兵(2回)-(2005/10/26(Wed) 20:29:50)

分類:[VB.NET] 

tomoです。

何とか思考錯誤の結果、以下のようにしたら取り敢えず解決できました。

Protected Overridable Sub findData()

Dim oleCn As OleDb.OleDbConnection = New OleDb.OleDbConnection
Dim oleDr As OleDb.OleDbDataReader
Dim oleCmd As OleDb.OleDbCommand
Dim dtSet As DataSet = New DataSet("一覧")
Dim UID As String
Dim password As String

'データベースに接続する
olecn.ConnectionString = _
"provider=microsoft.jet.oledb.4.0;data source=" _
& "C:\test\test.mdb;Persist Security Info=False"

'選択sql文を作成してレコードを取得する
olecmd = New OleDb.OleDbCommand("SELECT * FROM tbl_rent", olecn)

'コネクションを開く
oleCn.Open()

If txtuserId.Text = "" Then
MessageBox.Show("ログオンIDを入力してください。")
Exit Sub
Else
UID = UID & " UID =" & txtuserId.Text & " "
End If

If txtpassword.Text = "" Then
MessageBox.Show("パスワードを入力してください。")
Exit Sub
Else
password = password & " password = " & txtpassword.Text & " "
End If

'コマンドの定義
olecmd.CommandText = "SELECT password FROM tbl_logon where UID='" & txtuserId.Text & "'"

'データリーダーからのデータの読み出し
oleDr = olecmd.ExecuteReader()

'レコードの存在によって、該当するIDがあることを確認する
If oleDr.Read Then
'パスワードの判定
If RTrim(oleDr("password")) = txtpassword.Text Then
MsgBox("正しいIDであることを認証できました。システムにログオンします。")

'ダイアログボックスの戻り値をOKにする
Me.DialogResult = DialogResult.OK
Else
'パスワードが一致しないとき
MsgBox("正しいパスワードを指定してください")
End If

Else
'IDが存在しないとき
MsgBox("正しいIDを指定してください")
End If

'データリーダーを閉じる
oleDr.Close()

'コネクションを閉じる
oleCn.Close()
End Sub

また、お世話になるかもしれませんので宜しくお願いします。


解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -