怎么sql对数据库里的某个字段进行修改呢?

时间:2021-03-28 15:09:33
在数据库里有张库存表,有张商品表,库存表有商品ID(goodsID)和该ID商品的库存数(goodsNum),库存表里的商品ID字段goodsID和商品表里的关联,商品表还有name(名称),type(类别),category(规格),我在web页面添加商品时,如果判断当前添加的商品的name,type,category与 商品表里的有一样的时,就只需将商品表中的那个同样商品的id取出,查找与此id相同的库存表中的商品 id,然后将当前web页面添加的商品的数量(goodsNum)加上库存表goodsNum那个字段。或者说是更新goodsNum字段的值。

  我不知道该怎么做啊?求大家帮忙

6 个解决方案

#1


该回复于2010-04-15 09:02:25被版主删除

#2


建议if部分由cs文件完成

 先 return int i=
“select count(*) from [table1] where name=【value1】 or type=【value2】 or category=【value3】”的结果,
如果i>0

那么insert
否则 update [table1] set goodsNum=goodsNum+【value4】where 【查询条件】


#3



 public void AddorUpdate(int id,int number)
       {
           using (SqlConnection conn = Connection)
           {
               string update = "update 库存表 set goodsNum=goodsNum+@number where id=@id";
               SqlCommand cmd = new SqlCommand(update, conn);
               cmd.Parameters.AddWithValue("@number", number);
               cmd.Parameters.AddWithValue("@id", id);
              int i = cmd.ExecuteNonQuery();
              if (i == 0)
              {
                  string insert = "insert into 库存表 values(@id,@number)";
                  SqlCommand cm = new SqlCommand(update, conn);
                  cmd.Parameters.AddWithValue("@number", number);
                  cmd.Parameters.AddWithValue("@id", id);
              }
           }
       
       }

#4


触发器不能用么?

#5


顶三楼

#6


引用 3 楼 liuyileneal 的回复:
C# code

 public void AddorUpdate(int id,int number)
       {
           using (SqlConnection conn = Connection)
           {
               string update = "update 库存表 set goodsNum=goodsNum+@nu……

up

#1


该回复于2010-04-15 09:02:25被版主删除

#2


建议if部分由cs文件完成

 先 return int i=
“select count(*) from [table1] where name=【value1】 or type=【value2】 or category=【value3】”的结果,
如果i>0

那么insert
否则 update [table1] set goodsNum=goodsNum+【value4】where 【查询条件】


#3



 public void AddorUpdate(int id,int number)
       {
           using (SqlConnection conn = Connection)
           {
               string update = "update 库存表 set goodsNum=goodsNum+@number where id=@id";
               SqlCommand cmd = new SqlCommand(update, conn);
               cmd.Parameters.AddWithValue("@number", number);
               cmd.Parameters.AddWithValue("@id", id);
              int i = cmd.ExecuteNonQuery();
              if (i == 0)
              {
                  string insert = "insert into 库存表 values(@id,@number)";
                  SqlCommand cm = new SqlCommand(update, conn);
                  cmd.Parameters.AddWithValue("@number", number);
                  cmd.Parameters.AddWithValue("@id", id);
              }
           }
       
       }

#4


触发器不能用么?

#5


顶三楼

#6


引用 3 楼 liuyileneal 的回复:
C# code

 public void AddorUpdate(int id,int number)
       {
           using (SqlConnection conn = Connection)
           {
               string update = "update 库存表 set goodsNum=goodsNum+@nu……

up