日期:2014-05-20  浏览次数:20697 次

求C#存入数据库数据的技巧,要求第一次存插入,第二次修改,对一共可存几次,按每天都有限制,详细请看内容说明,必解贴,谢谢
假如我有几个要存到数据库表中的值,如123,456,789这三个吧,用一个下拉控件表示,后面跟一个文本框,可输入数字,要存到数据库时,条件是按每天来执行
比如,今天我第一次存123,后面文本框的值是10,这个用插入,这样数据库中就有一行记录,两个字段123和10.
今天第二次存123时,后面文本框值是50,这就用修改了,是原10+50,表中字段123和60,不知这样说大家明白吗。同样今天第一次456时插,第二次时改。
我想要的是如果到了明天,那再存123时(文本框是20),被认为是当天的第一次插,第二天改,这样表中就两行123,一行是123和60,别一行是123和20。同样456也是一样的情况

我不太会,要如何判断当天是否是第一次?是否加个时间字段来比较呢?

请最好给出详细代码,谢谢

------解决方案--------------------
加个时间字段来比较
  
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/
------解决方案--------------------
存的时候,查询判断一下
------解决方案--------------------
数据库加个时间字段。插入前先查询当天有没有这个数据。如果有,执行更新。没有,执行插入!
------解决方案--------------------
我QQ464258891可以加我详细跟你说一下
------解决方案--------------------
表A
A[int]  B[int]  C[date]

CREATE PROCEDURE INSERT_表A
(
    @A  INT,
    @B  INT
)
AS
BEGIN
  declare @tempA int;
  set @tempA=(select count(A) from 表A where A=@A and datediff(day,C,getdate())=0)
  if(@tempA=0) 
 INSERT INTO 表A(A,B,C)VALUES(@A,@B,GETDATE());
  else
     update 表A set B=B+@B where A=@A and datediff(day,C,getdate())=0;
END

------解决方案--------------------
頂樓上,C#獲取時間最好不要中代碼中獲取,最好中SQL中獲取。