【问题标题】:How To Insert USERID (Type: Raw, Size: 16) from Ora_aspnet_users to Another Table如何将 USERID(类型:Raw,大小:16)从 Ora_aspnet_users 插入另一个表
【发布时间】:2014-06-19 05:03:21
【问题描述】:

对不起,由于我是新手,由于我的声誉数量有限,我无法上传截图。

ora_aspnet_user table with column name userid with datatype of Raw(16)
link to
Instruct Table with userid with datatype of Raw (16) - Other columns is ID (Auto Trigger No), Command (Varchar2 = 256)

我的内联 ASPX 代码:

<form id="form1" runat="server">
    <div>
        <asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False" DataSourceID="SqlDataSource1"
            DefaultMode="Insert" Height="50px" Width="125px">
            <Fields>
                <asp:BoundField DataField="ID" HeaderText="ID" SortExpression="ID" Visible="False" />
                <asp:BoundField DataField="COMMAND" HeaderText="COMMAND" SortExpression="COMMAND" />
                <asp:TemplateField HeaderText="USERID">
                    <InsertItemTemplate>
                        <asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDataSource2"
                            DataTextField="USERNAME" DataValueField="USERID">
                        </asp:DropDownList>
                   </InsertItemTemplate>
                </asp:TemplateField>
                <asp:CommandField ShowInsertButton="True" />
            </Fields>
        </asp:DetailsView>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
            ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>" 
            InsertCommand="INSERT INTO INSTRUCT (COMMAND, USERID) VALUES (:COMMAND, :USERID)">
            <InsertParameters>
                <asp:Parameter Name="COMMAND" Type="String" />
                <asp:Parameter Name="USERID" DbType="Binary" Size="16" />
            </InsertParameters>
        </asp:SqlDataSource>
        <asp:SqlDataSource ID="SqlDataSource2" runat="server" 
            ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
            ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>" 
            SelectCommand="SELECT USERID, USERNAME FROM ORA_ASPNET_USERS">
        </asp:SqlDataSource>
    </div>
    </form>
</body>
</html>

上面的代码只会插入命令文本框,但不会插入 USERID 下拉菜单中的 USERID。

非常感谢您的帮助。

非常感谢。

【问题讨论】:

    标签: asp.net oracle10g odac


    【解决方案1】:

    用这个替换你的数据源&lt;InsertParameter&gt;,它可能会对你有所帮助,因为我没有你的源代码我无法在本地测试它,但问题可能发生在其他地方:

    <InsertParameters>
       <asp:ControlParameter ControlID="DropDownList1" PropertyName="SelectedValue" Name="USERID" Type="Byte"></asp:ControlParameter>
       <asp:ControlParameter ControlID="DropDownList1" PropertyName="SelectedItem.Text" Name="COMMAND" Type="String"></asp:ControlParameter>
    </InsertParameters>
    

    【讨论】:

    • 我替换了插入参数,但是当我单击插入按钮时,它抛出“在 ControlParameter 'USERID' 中找不到控件 'DropDownList1'。”。我还尝试返回命令 的参数,因为它只是一个文本框,但结果仍然相同。可以给我您的电子邮件地址,以便我可以将我的数据库设计的屏幕截图发送给您。
    • 我知道问题出在参数上,因为如果我使用我发布的原始参数,它可以发送命令,但用户 ID 在 oracle 数据库中仍然为空白。
    • 致 Ali Shahrokhi。您提供的上述代码特别是控制参数帮助我进一步隔离了问题,现在我对上述主题有了新的关注。请点击此链接stackoverflow.com/questions/24320916/…。再次感谢您。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-23
    • 2012-12-01
    • 2018-07-25
    • 2014-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多