2012-10-20 13 views
1

任何帮助将是伟大的谢谢你。不知道为什么它的所有方法返回一个空值 我不确定它是否连接到数据库。连接到访问数据库和查询用户登录信息不拉回数据

我的网络配置文件

<configuration> 
    <connectionStrings> 
    <add name="accessConnectionString" providerName="Microsoft.Jet.OLEDB.4.0" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\***\Desktop\pratice\AccessTest\App_Data\TheList.mdb;Persist Security Info=True"/> 
    </connectionStrings> 
    <system.web> 
    <compilation debug="true" targetFramework="4.0"/> 
    </system.web> 
</configuration> 

中间层的代码来检查,如果用户是在数据库中,如果他们一些回报,如果没有返回null

OleDbConnection sconn = new OleDbConnection(); 
    OleDbCommand scmd = new OleDbCommand(); 
    public DBMiddleTier() 
    { 
     try 
     { 
      // set up the connection strings   
      sconn.ConnectionString = ConfigurationManager.ConnectionStrings["accessConnectionString"].ToString(); 
     } 
     catch(Exception ex) 
     { 
      throw ex; 
     } 
    }//end of constructor 
    //class to check membership 
    public object checkMembership(string logid, string password) 
    { 
     try 
     { 
      sconn.Open(); 
      //set propertiers of the command 
      scmd.Connection = sconn; 
      scmd.CommandType = CommandType.Text; 
      scmd.CommandText = "select * from SubDealers where LoginID = @InputUsername and Password = @InputPassword"; 
      scmd.Parameters.Clear(); 
      OleDbParameter checkUsername = scmd.Parameters.Add("@InputUsername", OleDbType.VarChar, 50); 
      checkUsername.Value = logid; 
      OleDbParameter checkPassword = scmd.Parameters.Add("@InputPassword", OleDbType.VarChar, 50); 
      checkPassword.Value = password; 
      object result = scmd.ExecuteScalar(); 
      return result; 
     } 
     catch (OleDbException sqx) 
     { 
      throw sqx; 
     } 
     finally 
     { 
      sconn.Close(); 
     } 
    }//end of method 

我的代码隐藏页

try 
     { 
      object result = dm.checkMembership(txtLoginID.Text, txtPassword.Text); 
      if (result != null) 
      { 
       Response.Redirect("https://www.google.com/"); 
      } 
      else 
      { 
       txtLoginID.Text = ""; 
       txtPassword.Text = ""; 
       Page.ClientScript.RegisterStartupScript(this.GetType(), "notAmember", "alert('Sorry wrong id or password');", true); 
      } 
     } 
     catch (Exception ex) 
     { 
      Page.ClientScript.RegisterStartupScript(this.GetType(), "myalert", "alert('" + ex.Message + "');", true); 
     } 
+0

难道你不能通过代码来检查? – SearchAndResQ

回答

1

你有试过吗?

select * from [SubDealers] where [LoginID] = @InputUsername and [Password] = @InputPassword"