- - PR -
ACCESS&ASP.NETログイン認証。
1|2|3|4
次のページへ»
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-12-01 22:15
初めて投稿させていただきます。にしおと申します。
早速ですが、私はACCESSとASP.NET、C#を使用しているのですが、 よくある、パスワードとIDが合っていれば次のページに飛ぶという処理があると思うのですが、 テーブルクラス(Userinfo Table)を使用し、 string cnstring=(string)Applivathion["ConnString"]; UserinfoTable myUser=new UserinfoTable(cnstring,txtmail.text); if (!myUser.IsNew) { if (myUser.Authenticate(txtPass.text)) { FormAuthenticathion.RedirectFormLoginPage(myUser.Mailaddress,false); Session["UserInfo"]=myUser; } } みたいな感じでできると、聞いた&ヘルプをみてわかってきたのですが、ACCESSを使用し、そこの中のテーブルのIDとPassを持ってきて、判定するやり方が、いまいちよくわかりません。 まだまだかけだしですので、ひとつご協力のほどよろしくお願いいたします。 | ||||
|
投稿日時: 2003-12-01 23:06
こんにちわ。諸農です。
ACCESSへの接続方法がわからないのでしょうか? となると、ADO.NETに関してもHELPを探されることをお勧めします。 SDKトピック「ADO.NET の概要」 ms-help://MS.NETFrameworkSDKv1.1.JA/cpguidenf/html/cpconoverviewofadonet.htm SDKトピック「ASP.NET データ アクセス」 ms-help://MS.NETFrameworkSDKv1.1.JA/cpguidenf/html/cpconaspdataaccess.htm のあたりが参考になるかもしれません。 ではでは(^^)/ _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||
|
投稿日時: 2003-12-02 01:46
なるほど!ADOについてはみていませんでした。
ありがとうございます。 | ||||
|
投稿日時: 2003-12-02 02:49
いろいろ読んでみたのですが、いまいちしっくりきません。
アクセスレコード数はコネクションを開いてその間に処理を書くという形だとはわかっていて、恐らくそのような形で今回もやるのだとは思うのですが、 コネクションを開く データセットクリア if(!dateadapter.SelectCommand.Parameters["フィールド名"].Value==テキストボックスの値) { 次のページへ } という形でしょうか・・・。 やってみても動かないので、明らかに間違っていることはわかっているのですが…。 恐らくif文の式が・・・。 | ||||
|
投稿日時: 2003-12-02 02:56
{
int flg ; flg = 0; if(pwd_e.KeyChar == (char)13) { string DB = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=**.mdb"; string SQL = "SELECT * FROM Login"; OleDbConnection Con = new OleDbConnection(DB); OleDbCommand Cmd = new OleDbCommand(SQL,Con); OleDbDataAdapter Adapter = new OleDbDataAdapter(Cmd); Con.Open(); DataSet Rs = new DataSet(); Rs.Tables.Add("Login"); try{Adapter.Fill(Rs,"Login");} finally{Con.Close();} DataRowCollection Rs_Row = Rs.Tables["Login"].Rows; foreach (DataRow DR in Rs_Row) { if((DR[1].ToString() == txt_id.Text) && (DR[2].ToString() == txt_pwd.Text)) { flg = 1 ; break ; } } if (flg == 1) { // MessageBox.Show("OK"); this.Text = "***"; grp_view.Show(); grp_login.Hide(); mnu_f.Visible = true; } else { txt_id.Text = ""; txt_pwd.Text = ""; txt_id.Focus(); } Con.Close(); } こんな感じでしょうか? 私も初心者であんまり自信がないので、ほかの人の意見も伺ってください。 | ||||
|
投稿日時: 2003-12-02 04:44
Con.Open();
try{Adapter.Fill(Rs,"会員名簿マスタ");} finally{Con.Close();} DataRowCollection Rs_Row = Rs.Tables["会員名簿マスタ"].Rows; foreach (DataRow DR in Rs_Row) { if ((text1.Text == DR[1].ToString()) && (text2.Text == DR[2].ToString())) { Response.Redirect("a.aspx"); } else { text1.Text = "" ; text2.Text = "" ; } } って感じでやったら、if ((text1.Text == DR[1].ToString()) && (text2.Text == DR[2].ToString()))の所で、オブジェクト参照がオブジェクト インスタンスに設定されていません。 というエラーが出ます。 このヘルプ等をみてみたのですが、よく原因がわかりません。 どうやらnill値が入っているようなのですが、お力をお貸しください。 | ||||
|
投稿日時: 2003-12-02 11:19
こんにちは、Ru.Fと申します。
会員名簿マスタというテーブルはどのようなものでしょうか? IDとPasswordの2列のみですか? エラーの出ている以下のラインですが、 if ((text1.Text == DR[1].ToString()) && (text2.Text == DR[2].ToString())) "(text1.Text == DR[1].ToString())"と"(text2.Text == DR[2].ToString())" 両方ともエラーが出ますか? それとも後者だけでしょうか。 確認してみてください。 以上 | ||||
|
投稿日時: 2003-12-02 19:08
両方エラーが出ます。
ちなみに、テーブルはそのIDとPassの二つだけです。 |
1|2|3|4
次のページへ»