//添加
        public int Create(Order order)
        {
            oConn conn = new oConn();
            string oInsert = "INSERT INTO [Tiens_Order] (UserID,ProCount,ProPrice,ProName,BeginTime,EndTime,TrafficPrice,Location,Addon) VALUES (@UserID,@ProCount,@ProPrice,@ProName,@BeginTime,@EndTime,@TrafficPrice,@Location,@Addon)";
            OleDbCommand oCommand = new OleDbCommand(oInsert, conn.iConn);
            oCommand.Parameters.Add("@UserID", OleDbType.Integer, 10);
            oCommand.Parameters.Add("@ProCount",OleDbType.Integer,10);
            oCommand.Parameters.Add("@ProPrice", OleDbType.Integer, 10);
            oCommand.Parameters.Add("@ProName",OleDbType.VarChar,20);
            oCommand.Parameters.Add("@BeginTime",OleDbType.Date);
            oCommand.Parameters.Add("@EndTime", OleDbType.Date);
            oCommand.Parameters.Add("@TrafficPrice", OleDbType.Integer, 10);
            oCommand.Parameters.Add("@Location", OleDbType.VarChar, 30);
            oCommand.Parameters.Add("@Addon", OleDbType.VarChar, 200);            int id = 0;
            try
            {
                oCommand.Connection.Open();
                id = oCommand.ExecuteNonQuery();
                return id;
            }
            catch (Exception exception)
            {
                throw exception;
            }
            finally
           {       //必须声明标量变量 "@UserID"。
                oCommand.Connection.Close();
            }
        }

解决方案 »

  1.   

    参数好像没有赋值啊, oCommand.Parameters[""].value=?
      

  2.   

    oCommand.Parameters.Add("@BeginTime",OleDbType.Date);
    oCommand.Parameters.Add("@EndTime", OleDbType.Date);
    这两项怎么没有值
      

  3.   

    oCommand.Parameters.Add("@ProID",OleDbType.Integer,10).Value=r.ProID;
                oCommand.Parameters.Add("@UserID", OleDbType.Integer, 10).Value = r.UserID;
                oCommand.Parameters.Add("@ProCount", OleDbType.Integer,10).Value = r.ProCount;
                oCommand.Parameters.Add("@ProPrice", OleDbType.Integer, 10).Value = r.ProPrice;
                oCommand.Parameters.Add("@ProName", OleDbType.VarChar, 20).Value = r.ProName;
                oCommand.Parameters.Add("@BeginTime", OleDbType.Date).Value = r.BeginTime;
                oCommand.Parameters.Add("@EndTime", OleDbType.Date).Value = r.EndTime;
                oCommand.Parameters.Add("@TrafficPrice", OleDbType.Integer, 10).Value = r.TrafficPrice;
                oCommand.Parameters.Add("@Location", OleDbType.VarChar, 20).Value = r.Location;
                oCommand.Parameters.Add("@Addon", OleDbType.VarChar,200).Value = r.Addon;
    这是看的MSDN上的写的法,还是提示"必须声明标量变量"