我正在尝试通过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插入空值吗?
更新表中的记录时,我需要更新userid(需要从后面的代码获取)和sysdate吗?
先谢谢了。任何帮助表示赞赏...!
答案 0 :(得分: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)