0

我正在尝试通过 SqlDataSource 插入和更新表

<asp:SqlDataSource ID="SqlDataSource1" OnSelecting="SqlDataSource1_Selecting" runat="server" ConnectionString="<%$ ConnectionStrings:ORAConnString %>" ProviderName="<%$ ConnectionStrings:ORAConnString.ProviderName %>"
    SelectCommand="SELECT DEPT_NAME,CATEGORY_NAME FROM SDIX_TCKT_CATEGORY"
    InsertCommand="Insert into SDIX_TCKT_CATEGORY (DEPT_NAME,CATEGORY_NAME,MODIFIED_BY,MODIFIED_DTTM)  values(:DEPTNAME,:CATEGORYNAME,'','')"  
    UpdateCommand="Update SDIX_TCKT_CATEGORY set CATEGORY_NAME=:CATEGORYNAME,MODIFIED_BY='',MODIFIED_DTTM=SYSDATE where(DEPT_NAME=:DEPTNAME) "                                       >
    <InsertParameters>
        <asp:Parameter Name="DEPTNAME" />
        <asp:Parameter Name="CATEGORYNAME" />                                     
    </InsertParameters>
    <UpdateParameters>
        <asp:Parameter Name="DEPTNAME" />
        <asp:Parameter Name="CATEGORYNAME" />
        <asp:Parameter Name="MODIFIED_BY" />
        <asp:Parameter Name="MODIFIED_DTTM" />
    </UpdateParameters>
</asp:SqlDataSource>

插入新记录时,我需要为 MODIFIED_BY、MODIFIED_DTTM 插入空值吗?

更新表中的记录时,我需要更新用户 ID(需要从后面的代码中获取)和 sysdate?

提前致谢。任何帮助表示赞赏...!

4

1 回答 1

0

DBNull.value代替''

或者干脆不指定空参数。

编辑 1: 我告诉你使用 DBNull.value 但我忘记了我通过代码使用它

es。YourSqlcommand.Parameters.AddWithValue("@ParameterName", DBNull.value)

因此,在您的 sql 更新或插入中,您可能必须使用 Sql NULL

 Insert into SDIX_TCKT_CATEGORY (DEPT_NAME,CATEGORY_NAME,MODIFIED_BY,MODIFIED_DTTM) values(:DEPTNAME,:CATEGORYNAME,NULL,NULL)
于 2018-10-08T14:41:19.057 回答