日期:2014-05-17  浏览次数:20438 次

row[]到数据库中的int型数据为什么不能与整数直接做减法
代码如下
 foreach (DataRow row in dt.Rows)
 {
  string bb = row["Goods_Id"].ToString().Trim();
  if (bb.Equals(this.TextBox2.Text))
  {
  row["Goods_Num"] = row["Goods_Num"] - Int32.Parse(this.TextBox3.Text);
  this.Label4.Text = "预订成功,管理员会尽快处理您的预订要求";
  flag = 1;
  return;
  }
 }
我的Goods_Num在数据库中是以整形存储的,为什么这里不能直接row[]出来运算?

------解决方案--------------------
row["Goods_Num"] = Int32.Parse( row["Goods_Num"].ToString()) - Int32.Parse(this.TextBox3.Text);


肯定不能直接运算 DataRow 类型 怎么可能智能判断
------解决方案--------------------
你数据库中存的是int,程序是贬义的时候确定类型,人家怎么会知道你放的是什么,默认就是string,你不说程序怎么知道