私はこの Web アプリケーションに少し慣れていません。Visual Studio 2012 で ASP.NET Web フォーム アプリケーション用の新しいプロジェクトを作成すると、定義済みのページ/関数がいくつか生成されます。時間を節約できるように見えるので、実際にこれらの関数を使用したいと思います。
この時点で、正常に動作する Register.aspx と Login.aspx があることに気付きました。問題は、Access 2007 にいくつかのテーブルを含むデータベースがあることです。次のいずれかを実行できるかどうか、およびその方法を知りたいです。
1)DefualtConnectionデータベースを保持し、現在ログインしているユーザー名を照会し、そのユーザー名を使用してAccessデータベースにそのユーザー名に基づく情報を照会します。
2) Access データベースを使用して、独自の登録とログインを作成します。この場合、ログインしているユーザーをどのように追跡すればよいのでしょうか。また、ユーザーの作成ウィザードを使用するとエラーが発生します。
助けてください。最終プロジェクトの作業を続けるために、この情報が必要です。教授はこれを行う方法について手がかりがなく、私はウェブを検索して答えていますが、正しい質問をしていないようです. 前もって感謝します :)
*編集
•<strong>ログイン ユーザーの意味: 画像https://dl.dropbox.com/u/22962879/Project_4_Registro_Est/Logged%20in%20user%20Project4.png
•<strong>デフォルト接続:
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-Project_4_Registro_Est-20130131171154;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-Project_4_Registro_Est-20130131171154.mdf"
providerName="System.Data.SqlClient" />
•<strong>マイ アクセス データベース
myConn = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\cast\Documents\test.accdb")
私の解決策:
User.Identity.Name を呼び出すことで、ログインしているユーザー名を取得できることがわかりました。だから私は次のことをしました:
'//The following code is an example of using the Logged/signed in username to then'
'//Query other Databases based on the user name:'
Dim myConn As System.Data.OleDb.OleDbConnection
Dim cmd As New System.Data.OleDb.OleDbCommand
Dim sqlstring As String
'//Connecting to My Database:'
myConn = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\cast\Documents\test.accdb")
'//Query I wish to use to find all data based on User name:'
sqlstring = "Select FirstName, LastName, UserType FROM users WHERE Username = '" + User.Identity.Name + "'"
Try
'//Start by opening the connection'
myConn.Open()
'//I use str for now to store the results'
Dim str As String = ""
'//Set the command by adding the SQL string and Connection:'
cmd = New OleDb.OleDbCommand(sqlstring, myConn)
'//Create variable which contains results from Executed command:'
Dim oledbReader As OleDb.OleDbDataReader = cmd.ExecuteReader
'//Keep reading each row that contains the Queried Results:'
While oledbReader.Read
'//Store result to str. each item is a Column in the order I Queried'
str = str + (oledbReader.Item(0) & " " & oledbReader.Item(1) & " (" & oledbReader.Item(2)).ToString() & ")" + "\n"
End While
'//Show results on page's Label1:'
Label1.Text = str
'//Close everything'
oledbReader.Close()
cmd.Dispose()
myConn.Close()
Catch ex As Exception
'//show error message if could not connect'
MsgBox("Can not open connection! X_X")
End Try