在GRIDVIEW中的更新问题~~~
我数据库中设置的是datetime类型
在GRIDVIEW模板列中加控件Calendar
在代码是这样写的
 DateTime  Escriqi =Convert.ToDateTime( ((Calendar)GridView1.Rows     [e.RowIndex].Cells[6].FindControl("Calendar1")).SelectedDate); 请问是哪里出错了,我一更新就提示
SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间

解决方案 »

  1.   

    补充:
    前台代码:
     <asp:TemplateField HeaderText="生产日期">
                      <EditItemTemplate>
    <asp:Calendar ID="Calendar1" runat="server" Height="100px" SelectedDate='<%# Bind("EProdDate") %> Width="100px" Font-Size="Smaller"></asp:Calendar>
                       </EditItemTemplate>
                      <ItemTemplate>
    <asp:Label ID="Label4" runat="server" Text='<%# Bind("EProdDate") %>'></asp:Label>
                                    </ItemTemplate>
                                </asp:TemplateField>
      

  2.   

    ((Calendar)GridView1.Rows[e.RowIndex].Cells[6].FindControl("Calendar1")).SelectedDate应该已经是DateTime类型了,不用再转确定你的单元格是6?在知道控件名的情况下((Calendar)GridView1.Rows[e.RowIndex].FindControl("Calendar1")).SelectedDate就可以
      

  3.   

    把你的数据库对应的datetime字段设置为运行为空```出现这种问题``多半是因为你更新数据库时``datetime字段值为空``默认插入0001年01月01日``造成datetime类型溢出
      

  4.   

    手误```把你的数据库对应的datetime字段设置为运行为空```允许为空``