OleDbConnection con=new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath("/wunjuonline/database/wunjuDB.mdb"));
con.Open();
OleDbCommand cmd=new OleDbCommand("select * from productTable where proudctID='9'",con);
OleDbDataReader odr=cmd.ExecuteReader();//就这一句报错。
odr.Read();错误提示:
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: 至少一个参数没有被指定值。

解决方案 »

  1.   

    这里 proudctID='9' 有疑问1. productID  你是不是拼写错了2. 你的productID 是字符串吗? 如果是int 应当写成 productID = 9
      

  2.   

    productID没写错,而且productID在access中,也是文本类型
      

  3.   

    OleDbDataReader odr=cmd.ExecuteReader();//
    要這樣寫:
    OleDbDataReader odr;
    odr=cmd.ExecuteReader();
      

  4.   

    OleDbDataReader odr=cmd.ExecuteReader();//就这一句报错。
    --->改为
    OleDbDataReader odr=cmd.ExecuteReader(CommandBehavior.CloseConnection);
      

  5.   

    上面各位大哥,小弟问题代码贴错了,对不起。完整的是这样的,如下:
    说明:这是一个用户控件
    //控件属性
    private string pID="";
    public string productID
    {
       set
       {
         this.pID=value;
       }
    }
    //page_load()事件中代码,
    {
    OleDbConnection con=new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath("/wunjuonline/database/wunjuDB.mdb"));
    con.Open();
    OleDbCommand cmd=new OleDbCommand("select * from productTable where proudctID='"+pID+"'",con);
    OleDbDataReader odr=cmd.ExecuteReader();//这一句错,错误提示如题
    odr.Read();
    this.lblNo.Text=odr.GetString(0).ToString();
    this.lblName.Text=odr.GetString(2).ToString();
    this.lblPrice.Text=odr.GetString(3).ToString();
    this.photo.ImageUrl="/wunjuonline/images/"+odr.GetString(4);
    this.txtQty.Text="0";
    this.hlkOrder.NavigateUrl="/wunjuonline/order.aspx?id="+lblNo.Text;
    }我是在一个页面中加载这个用户控件时出错的,经跟踪测试,属性值也正确传进来了,
    跟踪 cmd.CommandText的值,也正确(sql语句为:select * from productTable where typeID='2b1')
    我搞不懂那句为何执行时报错
    当我调试时,把cmd那项不加任何where条件时,也是同样的错误各位帮手呀,,,分不够另开贴加NND,折腾死了。。
      

  6.   

    我操比尔.盖茨的NND,上面的问题没动他就又通过了,完全OK了,为了找出原因,把贴上帖出的代码copy回文件中,又不过,现帖出来大家看看哪不同,如有找出来的,我请吃饭。。什么TMD的DotNet,经常撞鬼。//OK的代码:
    //这部分就通过了
    OleDbConnection con=new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath("/wunjuonline/database/wunjuDB.mdb"));
    con.Open();
    OleDbCommand cmd=new OleDbCommand("select * from productTable where productID='"+pID+"'",con);
    OleDbDataReader odr=cmd.ExecuteReader();
    odr.Read();//这部分就是见鬼的代码,不通过。
    OleDbConnection con=new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath("/wunjuonline/database/wunjuDB.mdb"));
    con.Open();
    OleDbCommand cmd=new OleDbCommand("select * from productTable where proudctID='"+pID+"'",con);
    OleDbDataReader odr=cmd.ExecuteReader();//这一句错,错误提示如题
    odr.Read();两部分完全一样嘛,,怪事。瞅瞅,大家分享一下。