把你的代码贴出来,特别是SQL语句。

解决方案 »

  1.   

    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    using System.Data.SqlClient;
    using System.Data.OleDb;
    using System.Data.SqlTypes;
    using System.Data.Common;
    using System.Configuration;
    namespace JackDown
    {
    /// <summary>
    /// WebForm1 的摘要说明。
    /// </summary>
    public class WebForm1 : System.Web.UI.Page
    {
    protected System.Web.UI.HtmlControls.HtmlInputButton sumbit;
    protected System.Web.UI.WebControls.TextBox UserName;
    protected System.Web.UI.WebControls.TextBox Password;
    protected System.Web.UI.WebControls.Label Message;
    protected System.Web.UI.HtmlControls.HtmlInputButton reset;

    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    //OleDbConnection DataConnection=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("../JackDown/database/data.mdb"));
    //OleDbConnection DataConnection=new OleDbConnection("provider=SQLOLEDB;Data Source="+Server.MapPath("../JackDown/database/data_Data.MDF")+";User ID=sa;Integrated Security=SSPI;Initial Catalog=data");
    //OleDbConnection DataConnection=new OleDbConnection("provider=SQLOLEDB;;Integrated Security=SSPI;Initial Catalog=data");
    //DataConnection.Open(); //OleDbCommand DataCommand=new OleDbCommand("select * from admin",DataConnection);
    //DataCommand.Connection.Open(); }
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
    //
    InitializeComponent();
    base.OnInit(e);
    }

    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {    
    this.sumbit.ServerClick += new System.EventHandler(this.Button1_ServerClick);
    this.reset.ServerClick += new System.EventHandler(this.reset_ServerClick);
    this.Load += new System.EventHandler(this.Page_Load); } private void Button1_ServerClick(object sender, System.EventArgs e)
    {
    string username,password;
    username=UserName.Text;
    password=Password.Text;
    string mySel="select * from admin where Adminpassword="+password+" and AdminUser="+username; OleDbConnection DataConnection=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("../JackDown/database/data.mdb"));
    OleDbCommand DataCommand=new OleDbCommand(mySel,DataConnection);
    DataCommand.Connection.Open();
        
    //OleDbCommand myCmd1=new OleDbCommand(mySel,myConn);
    //myCmd1.Connection.Open();
    OleDbDataReader Dr1;
    Dr1=DataCommand.ExecuteReader(Dr1.CloseConnection);
    Dr1.Read();
    if (Dr1.RecordsAffected!=0)
    {
    if (password==Dr1["AdminPassword"].ToString())
    {
    Response.Redirect ("adminmanage.htm");
    }
    }
    }
    private void reset_ServerClick(object sender, System.EventArgs e)
    {
    Message.Text="登陆"; }
    }
    }
      

  2.   

    还有一个问题就是我新建了一个框架集,是*.htm,然后左边联上一个aspx页,右边也连一个
    我在用asp的时候没有问题的,现在却说其中一个没有*.aspx.cs文件?????
      

  3.   

    data数据库access,其中一个表admin,adminID,AdminUser,AdminPassword,AdminLevel四个字段
    有一条纪录
    1  admin  admin   0
      

  4.   

    改成这样试试:
    string mySel="select * from admin where Adminpassword='"+password+"' and AdminUser='"+username+"'";>>>>没有*.aspx.cs文件?
    你直接在VS.NET中新建两个aspx文件,它就会自动生成.aspx.cs文件了。
      

  5.   

    无用户名密码时:
    OleDbConnection DataConnection=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("../JackDown/database/data.mdb")+";Persist Security Info=False");有用户名密码时:
    OleDbConnection DataConnection=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("../JackDown/database/data.mdb")+";Persist Security Info=True;Password=aaa;");
      

  6.   

    还有,select * from admin where Adminpassword ...
    改成:select * from admin where AdminPassword ...(区分大小写)
      

  7.   

    >>>>没有*.aspx.cs文件?
    你直接在VS.NET中新建两个aspx文件,它就会自动生成.aspx.cs文件了。
    如果不和框架集连的话,两个aspx文件都是正常的,一旦连上,就会有一个没有.aspx.cs,我也很郁闷??
      

  8.   

    string mySel="select * from admin where AdminUser='"+username+"'"; //不应当选择密码和用户,如果用户密码出错时候永远得不到一条纪录Adminpassword="+password+" 所以下面的判断也没意义 OleDbConnection DataConnection=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("../JackDown/database/data.mdb"));
    OleDbCommand DataCommand=new OleDbCommand(mySel,DataConnection);
    DataCommand.Connection.Open();
        
    //OleDbCommand myCmd1=new OleDbCommand(mySel,myConn);
    //myCmd1.Connection.Open();
    OleDbDataReader Dr1;
    Dr1=DataCommand.ExecuteReader();

    if (Dr1.Read())
    {
    if (password==Dr1["AdminPassword"].ToString())
    {
    Response.Redirect ("adminmanage.htm");
    }
    }
    }
      

  9.   

    你使用vs.net自建的框架集吗?
    那两个框架目标名称对吗?
      

  10.   

    出现“至少一个参数没有被指定值”的错误,是因为你的SQL语句中的参数至少有一个是空值,比如你上面的password和username有一个是null值。
    另外,你用 if (Dr1.RecordsAffected!=0) 这样来判断数据库中是否有相应的记录是错误的,因为如果用你的sql语句,Dr1.RecordAffected永远是0,DataReader的RecordAffected是执行sql的 delete、update或者insert语句后受影响的行数,而不是选出来的记录的行数!正确的判断方法应该是:
    if(Dr1.Read()){
    //有记录
    }
    else{
    //没有记录
    }