接的是WEBCONFIG中CONN ACESS数据库 OLEDB方式 
我目前理解连接ACESS就要用OLEDB方式,连接SQL用SQL的方式?这种理解对吗? 下面是错误源代码,麻烦看下 
using System; 
using System.Data; 
using System.Data.OleDb; 
using System.Configuration; 
using System.Collections; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Web.UI.HtmlControls; 
using System.Data.Common; public partial class Admin_Login : System.Web.UI.Page 
{      
    //连接数据库 
    OleDbConnection conn = new OleDbConnection(ConfigurationManager.ConnectionStrings["conn"].ConnectionString);     protected void Page_Load(object sender, EventArgs e) 
    {     } 
    protected void ImageButton1_Click(object sender, ImageClickEventArgs e) 
    { 
        string UserName = tbxaccount.Text.ToString(); 
        string Password = tbxpwd.Text.ToString(); 
    
        if (Session["CheckCode"] == null) 
        { 
            Label1ERR.Text = "系统错误,不能生成验证码"; 
            Label1ERR.Visible = true; 
            return; 
        } 
        if (tbxcheckcode.Text == "") 
        { 
            Label1ERR.Text = "请输入验证码"; 
            Label1ERR.Visible = true; 
            return; 
        } 
        if (String.Compare(Session["CheckCode"].ToString(), tbxcheckcode.Text, true) != 0) 
        { 
            Label1ERR.Text = "验证码错误,请输入正确的验证码。"; 
            Label1ERR.Visible = true; 
            return; 
        } 
        if (UserName == ""  | Password == "") 
        { 
            Label1ERR.Visible = true; 
            Label1ERR.Text = "请输入用户名、密码"; 
        } 
        else 
        { 
              
            try 
            { 
                
            conn.Open(); 
           
            String sql_ = "select * from login_users Where login_name='" + UserName + "' And login_pwd='" + Password+"'"; 
            
            OleDbCommand cmd = new OleDbCommand(sql_, conn); 
                         //就下面2句抛出异常,为什么呀?我用错了? 
            OleDbDataReader rs; 
            rs = cmd.ExecuteReader();             
            if (rs.Read()) 
            { 
                  Session["login_name"] = rs["login_name"].ToString(); //管理员名称 
                  Session["login_power"] = rs["login_power"].ToString();      //管理权限 
             
                     if (rs["login_lock"].ToString() == "1") 
                     { 
                          Response.Redirect(""); 
                     } 
             } 
             else 
             { 
                   Response.Write("没有数据集合!"); 
                   Response.End(); 
             } 
              rs.Close(); 
              conn.Close(); 
             } 
             catch (Exception rs_e) 
             { 
                 Response.Write(rs_e); 
                 Response.End(); 
             } 
    
        } 
    } 

报错:
System.Data.OleDb.OleDbException: 至少一个参数没有被指定值。 在 System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr) 在 System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) 在 System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) 在 System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) 在 System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) 在 System.Data.OleDb.OleDbCommand.ExecuteNonQuery() 在 Admin_Login.ImageButton1_Click(Object sender, ImageClickEventArgs e) 位置 e:\工作区\net版新闻后台\admin\Admin_Login.aspx.cs:行号 68  

解决方案 »

  1.   

    你确定login_name和login_pwd这两个字段在 login_users 表中存在?
      

  2.   

    打开access,输入sql语句类似如下
    select * from login_users Where login_name='aa' And login_pwd='bb'能否执行?
      

  3.   

    Oledb既可以连接ACCESS也可以连接SQL
      

  4.   

    检查一下数据库 login_users 表里的login_name和login_pwd这两个字段用直接赋值的SQL语句进行测试一下