自动插入日期时间与插入 [英] Automatically inserting datetime with insert

查看:165
本文介绍了自动插入日期时间与插入的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下设置一个radgrid控件。我能够正确地插入新行插入我的表,但 TIME_STAMP 栏仍显示为 NULL 。数据类型是数据库日期时间。我试过,包括 TIME_STAMP 在我的插入查询,但仍获得 NULL 的另一面。

 <的Telerik:的RadGrid ID =Grid_ValueCard=服务器的DataSourceID =SqlValueCardAutoGenerateEditColumn =真AllowAutomaticUpdates =真WIDTH =750px皮肤= WebBlueAllowAutomaticInserts =真CELLSPACING =0网格线=无>
    < MasterTableView的AutoGenerateColumns =FALSEAllowAutomaticUpdates =真的DataSourceID =SqlValueCardCommandItemDisplay =评出的>
        < CommandItemSettings ShowCancelChangesButton =真ShowSaveChangesButton =真/>
        <列>
            <的Telerik:GridBoundColumn数据字段=ProviderID数据类型=System.Int32的FilterControlAltText =过滤ProviderID列HEADERTEXT =ProviderIDSORTEX pression =ProviderIDUniqueName =ProviderID>
            < /的Telerik:GridBoundColumn>
            <的Telerik:GridBoundColumn数据字段=AdditionalReports数据类型=System.ByteFilterControlAltText =过滤器AdditionalReports列HEADERTEXT =AdditionalReportsSORTEX pression =AdditionalReportsUniqueName =AdditionalReports>
            < /的Telerik:GridBoundColumn>
            <的Telerik:GridBoundColumn数据字段=SurveyCompleted数据类型=System.ByteFilterControlAltText =过滤SurveyCompleted列HEADERTEXT =SurveyCompletedSORTEX pression =SurveyCompletedUniqueName =SurveyCompleted>
            < /的Telerik:GridBoundColumn>
            <的Telerik:GridBoundColumn数据字段=UniqueReportRequests数据类型=System.ByteFilterControlAltText =过滤器UniqueReportRequests列HEADERTEXT =UniqueReportRequestsSORTEX pression =UniqueReportRequestsUniqueName =UniqueReportRequests>
            < /的Telerik:GridBoundColumn>
            <的Telerik:GridBoundColumn数据字段=TIME_STAMP数据类型=System.DateTime的FilterControlAltText =过滤TIME_STAMP列HEADERTEXT =TIME_STAMPSORTEX pression =TIME_STAMPUniqueName =TIME_STAMP>
            < /的Telerik:GridBoundColumn>
        < /列>
    < / MasterTableView>
< /的Telerik:的RadGrid>
 

下面是我的的SqlDataSource

 < ASP:SqlDataSource的ID =SqlValueCard=服务器的ConnectionString =<%$的ConnectionStrings:RTMD_MS​​ConnectionString%>中的SelectCommand =SELECT TOP 1 ProviderID,AdditionalReports,SurveyCompleted,UniqueReportRequests,TIME_STAMP从ProviderValueCard
     将InsertCommand =INSERT INTO [ProviderValueCard]([ProviderID],[AdditionalReports],[UniqueReportRequests],[SurveyCompleted])VALUES(@ProviderID,@AdditionalReports,@UniqueReportRequests,@SurveyCompleted)>
    < InsertParameters>
        < ASP:参数名称=ProviderID/>
        < ASP:参数名称=AdditionalReports/>
        < ASP:参数名称=UniqueReportRequests/>
        < ASP:参数名称=SurveyCompleted/>
    < / InsertParameters>
< / ASP:SqlDataSource的>
 

解决方案

您可以设置您的 TIME_STAMP 列有一个默认约束的插入新的行,当将自动设置为当前日期和时间:

  ALTER TABLE dbo.ProviderValueCard
ADD约束DF_ProviderValueCard_Time_Stamp
   DEFAULT(SYSDATETIME())FOR TIME_STAMP
 

现在,每一次行插入,也没有值从前端提供的,SQL Server将填补当前日期和放大器;时间到 TIME_STAMP 自动地: - )

I have a radgrid with the setup below. I'm able to properly insert a new row into my table but the Time_Stamp column still shows as NULL. Datatype is datetime in the database. I've tried including the Time_Stamp in my Insert query but still get NULL on the other side.

<telerik:RadGrid ID="Grid_ValueCard" runat="server" DataSourceID="SqlValueCard" AutoGenerateEditColumn="True" AllowAutomaticUpdates="True" Width="750px"  Skin="WebBlue" AllowAutomaticInserts="True" CellSpacing="0" GridLines="None">
    <MasterTableView AutoGenerateColumns="False" AllowAutomaticUpdates="True" DataSourceID="SqlValueCard" CommandItemDisplay="Top">
        <CommandItemSettings ShowCancelChangesButton="True" ShowSaveChangesButton="True" />
        <Columns>
            <telerik:GridBoundColumn DataField="ProviderID" DataType="System.Int32" FilterControlAltText="Filter ProviderID column" HeaderText="ProviderID" SortExpression="ProviderID" UniqueName="ProviderID">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="AdditionalReports" DataType="System.Byte" FilterControlAltText="Filter AdditionalReports column" HeaderText="AdditionalReports" SortExpression="AdditionalReports" UniqueName="AdditionalReports">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="SurveyCompleted" DataType="System.Byte" FilterControlAltText="Filter SurveyCompleted column" HeaderText="SurveyCompleted" SortExpression="SurveyCompleted" UniqueName="SurveyCompleted">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="UniqueReportRequests" DataType="System.Byte" FilterControlAltText="Filter UniqueReportRequests column" HeaderText="UniqueReportRequests" SortExpression="UniqueReportRequests" UniqueName="UniqueReportRequests">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="Time_Stamp" DataType="System.DateTime" FilterControlAltText="Filter Time_Stamp column" HeaderText="Time_Stamp" SortExpression="Time_Stamp" UniqueName="Time_Stamp">
            </telerik:GridBoundColumn>
        </Columns>
    </MasterTableView>
</telerik:RadGrid>

Here is my SqlDataSource:

<asp:SqlDataSource ID="SqlValueCard" runat="server" ConnectionString="<%$ ConnectionStrings:RTMD_MSConnectionString %>" SelectCommand="SELECT TOP 1 ProviderID, AdditionalReports, SurveyCompleted, UniqueReportRequests, Time_Stamp FROM ProviderValueCard"
     InsertCommand="INSERT INTO [ProviderValueCard] ([ProviderID], [AdditionalReports], [UniqueReportRequests], [SurveyCompleted]) VALUES (@ProviderID, @AdditionalReports, @UniqueReportRequests, @SurveyCompleted)">
    <InsertParameters>
        <asp:Parameter Name="ProviderID" />
        <asp:Parameter Name="AdditionalReports" />
        <asp:Parameter Name="UniqueReportRequests" />
        <asp:Parameter Name="SurveyCompleted" />
    </InsertParameters>
</asp:SqlDataSource>

解决方案

You could set up your TIME_STAMP column to have a default constraint that would set the current date and time automatically when a new row is inserted:

ALTER TABLE dbo.ProviderValueCard
ADD CONSTRAINT DF_ProviderValueCard_Time_Stamp
   DEFAULT (SYSDATETIME()) FOR TIME_STAMP

Now, every time a row is inserted and no value is provided from the front-end, SQL Server will fill in the current date & time into TIME_STAMP automagically :-)

这篇关于自动插入日期时间与插入的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆