首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

传入多个参数有关问题

2011-12-28 
传入多个参数问题//根据ID得到商品记录public Product GetProduct(int ProductID){Product Pro1nullmycm

传入多个参数问题
//根据ID得到商品记录
  public Product GetProduct(int ProductID)
  {
  Product Pro1=null;
  mycmd.CommandType = CommandType.StoredProcedure;
  mycmd.CommandText = "GetProduct";
  mycmd.Parameters.Add(new SqlParameter("@ProductID",ProductID));
  mycon.Open();
  SqlDataReader mydr = mycmd.ExecuteReader();
  if (mydr.Read())
  {
  Pro1= new Product();
  Pro1.Name=(string)mydr["Name"];
  if(mydr["Description"]!=DBNull.Value)
  Pro1.Discription = (string)mydr["Description"];
  Pro1.Price=(decimal)mydr["Price"];
  if(mydr["Media"]!=DBNull.Value)
  Pro1.Media = (string)mydr["Media"];
  if(mydr["MediaAmount"]!=DBNull.Value)
  Pro1.MediaAmount = (int)mydr["MediaAmount"];
  }
  mydr.Close();
  mycon.Close();
  return Pro1;
  }


foreach (int iProductID in DicCart.Keys)
  {
  INumber = DicCart[iProductID];
  Product Pro1=Srv.GetProduct(iProductID);
  if (Pro1 != null)
  {
  Dsum = Pro1.Price * INumber;
  MyTable.Rows.Add(iProductID, Pro1.Name, Pro1.Price, INumber, Dsum);
  Dtotle += Dsum;
  }
  }


为什么我第二次调用存储过程时mycmd.Parameters.Add(new SqlParameter("@ProductID",ProductID));中Parameters变成了两个导致出现问题:传入过多参数。怎么解决啊

[解决办法]
mycmd.Parameters.Clear() //清一下试试
mydr.Close();
mycon.Close();
[解决办法]
1楼正解,或者重新NEW一下也可以
[解决办法]
mycmd.Parameters.Clear(); 
mycmd.Parameters.Add(new SqlParameter("@ProductID",ProductID)); 

[解决办法]

C# code
mycmd.Parameters.Clear();  mycmd.Parameters.Add(new SqlParameter("@ProductID",ProductID));
[解决办法]
mycmd.Parameters.Clear();
[解决办法]
楼上都是对的,我就不说什么了

热点排行