protected void LoginButton_Click(object sender, EventArgs e)
    {
        // 先检验输入正确性
        if (Login1.UserName == string.Empty || Login1.UserName.Trim() == "")
        {
            Response.Write("<script language='JavaScript'>alert('请输入用户名!');</script>");
            return;
        }
        if (Login1.Password == string.Empty || Login1.Password.Trim() == "")
        {
            Response.Write("<script language='JavaScript'>alert('请输入密码!');</script>");
            return;
        }
      //连接数据库
        string strConn = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" + Server.MapPath(System.Configuration.ConfigurationManager.AppSettings["MyData"]);
        //查询语句
        string strSql = "SELECT [Admin],[Password] FROM Admin WHERE [Admin]='" + Login1.UserName + "' AND [Password]='" + Login1.Password + "'";
        //连接数据库
        OleDbConnection Conn = new OleDbConnection(strConn);
        //建立OleDbCommand
        OleDbCommand Cmd = Conn.CreateCommand();
        //打开查询字符串
        Cmd.CommandText = strSql;
        //打开连接
        Conn.Open();
        //建立DataReader,读出数据
        OleDbDataReader dr = Cmd.ExecuteReader();        // 判断DataReader是否为空记录
        if (dr.HasRows)
        {
            Response.Write("<script language='JavaScript'>alert('" + Login1.UserName + ",欢迎你!');</script>");
        }
        else
        {
            Response.Write("<script language='JavaScript'>alert('没有这个用户!');</script>");
        }
    }根本就登录不了,请大家解答一下我的这个问题,谢谢!

解决方案 »

  1.   

    IE给出的错误信息,请大家帮我看看:在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错) 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 SQLExpress 数据库文件自动创建错误: 
    连接字符串使用应用程序 App_Data 目录中的数据库位置指定了一个本地 SQL Server Express 实例。由于提供程序确定应用程序服务数据库不存在,因此试图自动创建该数据库。要成功检查应用程序服务数据库是否存在并自动创建应用程序服务数据库,必须满足下列配置要求:
    如果应用程序 App_Data 目录不存在,则 Web 服务器帐户必须具有对应用程序目录的读写访问权限。这是因为如果不存在 App_Data 目录,Web 服务器帐户将会自动创建它。 
    如果应用程序 App_Data 目录已存在,则 Web 服务器帐户只要求对应用程序 App_Data 目录的读写访问权限。这是必要的,因为 Web 服务器帐户将尝试确认 SQL Server Express 数据库已在应用程序 App_Data 目录中。如果从 Web 服务器帐户撤消对 App_Data 目录的读访问权限,提供程序便无法正确地确定 SQL Server Express 数据库是否已存在。如果提供程序试图创建已存在的数据库的副本,就会出错。写访问权限是必需的,因为创建新数据库时需要使用 Web 服务器帐户凭据。 
    计算机上必须安装 SQL Server Express。 
    Web 服务器帐户的进程标识必须具有本地用户配置文件。有关如何为计算机帐户和域帐户创建本地用户配置文件的详细信息,请参见自述文档。 
    源错误: 
    执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  堆栈跟踪: 
    [SqlException (0x80131904): 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错)]
       System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +173
       System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +199
       System.Data.SqlClient.TdsParser.Connect(Boolean& useFailoverPartner, Boolean& failoverDemandDone, String host, String failoverPartner, String protocol, SqlInternalConnectionTds connHandler, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject, Boolean aliasLookup) +1066
       System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +606
       System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +193
       System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +219
       System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) +27
       System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +49
       System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +89
       System.Data.SqlClient.SqlConnection.Open() +159
       System.Web.Management.SqlServices.GetSqlConnection(String server, String user, String password, Boolean trusted, String connectionString) +67[HttpException (0x80004005): 无法连接到 SQL Server 数据库。]
       System.Web.Management.SqlServices.GetSqlConnection(String server, String user, String password, Boolean trusted, String connectionString) +123
       System.Web.Management.SqlServices.SetupApplicationServices(String server, String user, String password, Boolean trusted, String connectionString, String database, String dbFileName, SqlFeatures features, Boolean install) +89
       System.Web.Management.SqlServices.Install(String database, String dbFileName, String connectionString) +26
       System.Web.DataAccess.SqlConnectionHelper.CreateMdfFile(String fullFileName, String dataDir, String connectionString) +386
      

  2.   

    自己写一个LOGIN就是了。为什么用那东西。
      

  3.   

    这组用户控件跟.net内部的配置有关,具体配置我也不太清楚,不过需要跟对应的数据库想连接,也就是你存储用户和权限的表必须含有跟他指定的字段才能使用,这个就局限了我们的使用,我目前还没有打算用这组控件.
      

  4.   

    详细资料可以查阅msdn,相关资料为membership类
      

  5.   

    检查你的web.config中是否已经配置了membership一节,如果没有,通过asp.net配置工具也无法完成配置,可以手工添加相关数据。
    我遇到过同样的错误,见:http://www.10sec.cn/forums/5403/ShowPost.aspx