OleDbParameter[] par ={
                           new OleDbParameter("@proName", OleDbType.LongVarChar),
                           new OleDbParameter("@proNO", OleDbType.LongVarChar)
                      };
                           par[0].Value=image + dr2["题干"].ToString();
                           par[1].Value = dr2["题号"].ToString();
string updatetimuStr = "update [" + dr["xiaolei"].ToString().Trim() + "] set 题干=@proName where 题号=@proNO";
                           OleDbCommand cmd8 = new OleDbCommand(updatetimuStr, conn);
                           cmd8.ExecuteNonQuery();
错误提示:至少一个参数没有被指定值跟踪了一下 updatetimuStr 里面是 update [第十五章 神经系统疾病] set 题干=@proName where 题号=@proNO

解决方案 »

  1.   

    你的conn是咋回事啊,有没有初始化什么的,还有你的函数需要哪些参数
      

  2.   

    par 定义没错,但是没被调用。    
    OleDbCommand cmd8 = new OleDbCommand(updatetimuStr, conn,par);par位置不记得了,自己弄进去吧。
      

  3.   

    conn 没有问题  前面还执行过查询 所以 应该是没问题的  我只是想在SQL里面使用参数 在Access里面 OleDbParameter 重来没用过没想到还挺麻烦
      

  4.   

    par  放进去  没有被支持
      

  5.   

    露了一行代码:
       OleDbCommand cmd8 = new OleDbCommand(updatetimuStr, conn);
       cmd8.Parameters.Add(par );
       cmd8.ExecuteNonQuery();  
        
      

  6.   

    异常 OleDbParameterCollection 仅接受非空的 OleDbParameter 类型对象,不接受 OleDbParameter[] 对象
      

  7.   

    你是漏了8楼说的那句,但是你语句里面写错了.话说oledb传参用的不是@而是?
      

  8.   

    string updatetimuStr = "update [" + dr["xiaolei"].ToString().Trim() + "] set 题干=?proName where 题号=?proNO";
    OleDbCommand cmd8 = new OleDbCommand(updatetimuStr, conn);
    cmd8.Parameters.Add(par );
    cmd8.ExecuteNonQuery();
      

  9.   

    换这个:
       cmd8.Parameters.AddRange(par );