数据库中有张“投诉”表,里面有两个时间,分别是投诉时间和处理时间,所以不能直接在SQL中设定默认的GETDATE()。在.NET中,我是用sqldatesource进行保定的。
所以怎么才能在创建投诉的时候自动保存“投诉时间”(当前系统时间),在处理投诉的时候自动保存“处理时间”(另一个系统时间)
这是我目前的代码(部分):
InsertCommand="INSERT INTO 投诉(投诉类型, 投诉内容, 投诉人姓名, 投诉时间) VALUES (@投诉类型, @投诉内容, @投诉人姓名)"
<InsertParameters>
<asp:ControlParameter  ControlID="DropDownList2" Name="投诉类型" PropertyName="Text" />
<asp:ControlParameter  ControlID="TextBox2" Name="投诉内容" PropertyName="Text" />
<asp:ControlParameter  ControlID="TextBox4" Name="投诉人姓名" PropertyName="Text" />
</InsertParameters>ASP.NETSqldatasource

解决方案 »

  1.   

           <asp:Parameter DefaultValue="DateTime.Now" Name="投诉时间" Type="DateTime" />
      

  2.   

    你用户提交投诉的时候页面刷新  直接给投诉事件string 投诉时间=DateTime.Now.ToSrring();
      

  3.   

     InsertCommand="INSERT INTO 投诉(投诉类型, 投诉内容, 投诉人姓名, 投诉时间) VALUES (@投诉类型, @投诉内容, getdate())"就不用再程序里面多一个环节了。
    直接在sql语句使用getdate()函数
    http://www.w3school.com.cn/sql/func_getdate.asp
      

  4.   

    insert 的时候直接插入当前时间 
    InsertCommand="INSERT INTO 投诉(投诉类型, 投诉内容, 投诉人姓名, 投诉时间) VALUES (@投诉类型, @投诉内容, @投诉人姓名, DateTime.Now.ToSrring();)"
      

  5.   

    Insert 的时候投诉时间用GETDATE(),Update的时候处理时间同样用GETDATE(),一个是在Insert的时候用,一个是在Update的时候用,两者是没有冲突的(其实一起用也没有冲突只是一样而已)。
      

  6.   

    好多年没做asp.net程序开发了,都忘记了
      

  7.   

    唉,web开发,,我没看清楚。以为是窗体
      

  8.   

    我把getdate()加入到insert语句中,它就会显示“',' 附近有语法错误。”。
    InsertCommand="INSERT INTO 投诉(投诉类型, 投诉内容, 投诉人姓名, 投诉时间) VALUES (@投诉类型, @投诉内容, @投诉人姓名 ,,getdate())"
    是不是需要在InsertParameters里加上:<asp:ControlParameter   Name="投诉时间"  />
      

  9.   

    InsertCommand="INSERT INTO 投诉(投诉类型, 投诉内容, 投诉人姓名, 投诉时间) VALUES (@投诉类型, @投诉内容, @投诉人姓名)"——少一个参数;
    InsertCommand="INSERT INTO 投诉(投诉类型, 投诉内容, 投诉人姓名, 投诉时间) VALUES (@投诉类型, @投诉内容, getdate())"——少一个参数;
    InsertCommand="INSERT INTO 投诉(投诉类型, 投诉内容, 投诉人姓名, 投诉时间) VALUES (@投诉类型, @投诉内容, @投诉人姓名 ,,getdate())"——多了一个逗号;
    参数要一一对应